Zadejte hledaný výraz...

Vyhledání učitého slova v textu

Denis Ulmann
verified
rating uzivatele
(9 hodnocení)
22. 9. 2010 18:20:46
Zdravím,
Existuje nějaká php funkce na to, aby vyhledala nějaké slovo z nějakého textu?
22. 9. 2010 18:20:46
https://webtrh.cz/diskuse/vyhledani-uciteho-slova-v-textu#reply561198
Ano, existuje.
je nějakej problém použít google?
22. 9. 2010 18:29:22
https://webtrh.cz/diskuse/vyhledani-uciteho-slova-v-textu#reply561197
Denis Ulmann
verified
rating uzivatele
(9 hodnocení)
22. 9. 2010 18:39:45
normálně... řeknu ti ani nevím... preg_match_all ?
22. 9. 2010 18:39:45
https://webtrh.cz/diskuse/vyhledani-uciteho-slova-v-textu#reply561196
Treba strpos :P
22. 9. 2010 18:40:25
https://webtrh.cz/diskuse/vyhledani-uciteho-slova-v-textu#reply561195
Josef Zemánek
verified
rating uzivatele
22. 9. 2010 19:02:23
A nebo oblíbená substr_count(), která najde počet výskytů určitého řetězce v jiném řetězci. Hledaným řetězcem může být klidně slovo, prohledávaným nějaký dlouhý text. Příklad:
$text = "Přišel za mnou jeden Řek, a ten mi řek, abych mu řek, kolik je v Řecku řeckých řek. A já mu řek, že nejsem Řek, abych mu řek, kolik je v Řecku řeckých řek.";
$hledane_slovo = "řek";
1. V prohledávaném textu nejdřív zmenším všechny znaky na malá písmena: $text = strtolower($text);
2. Poté použiju funkci $pocet_slov_v_textu = substr_count($text, $hledane_slovo);
Výsledek: pocet_slov_v_textu = 8
22. 9. 2010 19:02:23
https://webtrh.cz/diskuse/vyhledani-uciteho-slova-v-textu#reply561194
Denis Ulmann
verified
rating uzivatele
(9 hodnocení)
22. 9. 2010 19:17:59
jj to je super, ale zaboha nemůžu tyto 2 funkce narvat dohromady (str_replace, strpos) potřeboval bych v textu najit třeba slovo "debil" a nahradit ho třeba za "$#@&^"
22. 9. 2010 19:17:59
https://webtrh.cz/diskuse/vyhledani-uciteho-slova-v-textu#reply561193
hm
verified
rating uzivatele
(20 hodnocení)
22. 9. 2010 19:59:04
na to se pouziva str_replace samotna ( pripadne pro regularni vyrazy preg_replace ) boha myho...
zakladni prace s textovymi retezci... jak muzes vubec programovat cokoliv aniz bys prosel tak zakladni kapitolu php - co treba zkusit nejaky serial o php abys priste nemel tak hloupe dotazy? :)
22. 9. 2010 19:59:04
https://webtrh.cz/diskuse/vyhledani-uciteho-slova-v-textu#reply561192
Denis Ulmann
verified
rating uzivatele
(9 hodnocení)
22. 9. 2010 21:13:39
no nezlob se, ale nikdo mě nic neučil.. google jsem neznal znal jsem jen seznam a php jsem se ucil tak, ze sem cely den cumel do kodu z jednoho souboru.. umim manipulaci s mysql, nejaky ty funkce a zbytek se dozvim zde.. nemuzu znat vse a neživím se tím...
22. 9. 2010 21:13:39
https://webtrh.cz/diskuse/vyhledani-uciteho-slova-v-textu#reply561191
google jsem neznal znal jsem jen seznam
22. 9. 2010 21:26:03
https://webtrh.cz/diskuse/vyhledani-uciteho-slova-v-textu#reply561190
Denis Ulmann
verified
rating uzivatele
(9 hodnocení)
22. 9. 2010 21:27:27
EDIT: Znal sem,a le jako noob sem si myslel, ze mezi tim neni zadny rozdíl :D
22. 9. 2010 21:27:27
https://webtrh.cz/diskuse/vyhledani-uciteho-slova-v-textu#reply561189
Josef Zemánek
verified
rating uzivatele
22. 9. 2010 21:41:29
Napsal denoy;573630
jj to je super, ale zaboha nemůžu tyto 2 funkce narvat dohromady (str_replace, strpos) potřeboval bych v textu najit třeba slovo "debil" a nahradit ho třeba za "$#@&^"
Zaboha, pojem HLEDAT je úplně něco jiného než NAHRAZOVAT! Jak už tu zmínil AlesiBoss, na náhradu výrazů se dá použít funkce str_replace(). Ukážu opět na jazykolamu z 19:02 hod. Pokud budu chtít nahradit Řeka Švýcarem, napíšu toto:
$novy_text = str_replace("Řek", "Švýcar", $text);
Výsledek pak bude vypadat takto: "Přišel za mnou jeden Švýcar, a ten mi řek, abych mu řek, kolik je v Řecku řeckých řek. A já mu řek, že nejsem Švýcar, abych mu řek, kolik je v Řecku řeckých řek."
Pro náhradu několika slov najednou se dá použít pole (Array), na které ses mimochodem ptal ve vedlejší místnosti :-):
$puvodni_slova = array("Řek", "Řecku", "řeckých", "v");
$nova_slova = array("Švýcar", "Švýcarsku", "švýcarských", "ve");
$novy_text = str_replace($puvodni_slova, $nova_slova, $text);
Výsledek: "Přišel za mnou jeden Švýcar, a ten mi řek, abych mu řek, kolik je ve Švýcarsku švýcarských řek. A já mu řek, že nejsem Švýcar, abych mu řek, kolik je ve Švýcarsku švýcarských řek."
Než začneš dělat něco dalšího, stáhni si manuál PHP funkcí a několik desítek z nich si pořádně prostuduj:
http://www.instaluj.cz/cesky-php-manual
Pokud budeš mít zájem naučit další PHP fígle, naučím tě je výměnou za propagaci mého eshopu, na který vede odkaz pod tímto příspěvkem ;-). Na mail eshopu (najdeš ho v kontaktech) mi pošli svou nabídku a já na ni obratem zareaguji. To samé platí i pro ostatní čtenáře tohoto vlákna. Kdo mi nabídne nějakou zajímavou formu propagace eshopu (Facebook, web, blog, PR články, rozeslání emailů svým příbuzným a známým), tomu pomohu zvládnout nástrahy PHP. V PHP už cca 5 let stavím weby a eshopy, v zásobě mám proto celou řadu zajímavých a užitečných fíglů. O většinu z nich se klidně podělím s ostatními, stačí jen nabídnou něco protihodnotou...
PS: Na část PHP dotazů budu odpovídat mailem, na část veřejně do tohoto fóra (Tvorba webu).
22. 9. 2010 21:41:29
https://webtrh.cz/diskuse/vyhledani-uciteho-slova-v-textu#reply561188
Pro odpověď se přihlašte.
Přihlásit