Autor | Zpráva | ||
---|---|---|---|
juraj Profil |
#1 · Zasláno: 9. 7. 2012, 15:58:33
Ako v textovovom súbore najdem ľubovolne slovo bez podmienky a mi spočíta koľkokrát sa opakuje v texte?
dakujem za rady <?php $file = 'soubor.txt'; $searchfor = 'page'; // the following line prevents the browser from parsing this as HTML. header('Content-Type: text/plain'); // get the file contents, assuming the file to be readable (and exist) $contents = file_get_contents($file); // escape special characters in the query $pattern = preg_quote($searchfor, '/'); // finalise the regular expression, matching the whole line $pattern = "/^.*$pattern.*\$/m"; // search, and store all matching occurences in $matches if(preg_match_all($pattern, $contents, $matches)){ echo "Found matches:\n"; echo implode("\n", $matches[0]); } else{ echo "No matches found"; } ?> |
||
pcmanik Profil |
#2 · Zasláno: 9. 7. 2012, 16:41:41
juraj:
Sluzi na to strpos |
||
juraj Profil |
pcmanik:
ja chcem,aby slovo,ktoré sa v exte vyskytuje viac krát našlo bez podmienky napr v subore je uložená veta Na stránke,stránke stránke je veta a slovo stránke sa vyskytuje 3krát |
||
mimochodec_ Profil * |
#4 · Zasláno: 9. 7. 2012, 17:44:19
Co znamená "bez podmienky"? A rozumíš správně slovu "našlo"? Jestli chceš spočítat všechny výskyty řetězce uvnitř jiného, použij výše uvedený strpos ve smyčce http://cz2.php.net/manual/en/control-structures.while.php
Smyčku procházej tak dlouho, dokud budeš od minulé pozice nacházet další výskyty. A každý průchod započítej v nějaké pomocné proměnné. |
||
Keeehi Profil |
Mám takový pocit, že juraj chce najít v textu opakující-se slova a nezáleží na tom, jaké to slovo je.
$file = 'soubor.txt'; $contents = file_get_contents($file); $arrayOfWords = preg_split('~\W~', $contents); $countedWords = array_count_values($arrayOfWords); //arsort($countedWords); // Seřazení od nejpočetnějších, pro opačné řazení se použije asort foreach($countedWords as $word => $count) { if ( $count > 1 && !empty($word)) { echo "Slovo $word se v textu vyskytlo $count"."x.<br>\n"; } } |
||
juraj Profil |
Keeehi:
Áno, máš dobrý pocit ďakujem |
||
Časová prodleva: 11 let
|
0