Autor | Zpráva | ||
---|---|---|---|
Zavos Profil |
#1 · Zasláno: 18. 1. 2012, 14:17:08
Čaute,
potřebuju nějakou funkci, která dokáže vyhledat uřite slovo a podle teho hledaného slova se zada nějake $id=?? Příklad: Věta: Ahoj jak se máš Pokud bude ve větě slovo "Ahoj" tak $id=1 Pokud bude ve větě slovo "Čau" tak $id=2 |
||
Tori Profil |
Zavos:
Jestli řetězec obsahuje jiný řetězec zjistíte funkcí stripos, resp. mb_stripos pro řetězce s diakritikou. Funkce nerozlišují velikost písmen (na rozdíl od strpos). Nevím, kolik máte těch párů id=>slovo, buď to jde řešit několika podmínkami (pokud jich je tak max. 5), nebo je uložit do pole a to projít pomocí foreach. |
||
Zavos Profil |
#3 · Zasláno: 18. 1. 2012, 14:57:55
Tori:
Bude jich asi 6, takže se to může udělat přes podmínku, diakritika neni třeba. Je možny ukázat příklad jedné podmínky? Děkuji |
||
Tori Profil |
#4 · Zasláno: 18. 1. 2012, 15:05:15
Zavos:
„Je možny ukázat příklad jedné podmínky?“ Jistě, v manuálu jsou hned dva. Zapomněla jsem doplnit, že strpos nerozlišuje celá slova, takže ve větě "Ahoj jak se máš" najde i "ho". Pokud chcete hledat jen celé slovo, bude lepší použít preg_match a regulární výraz. |
||
SeparateSK Profil |
<?php $text="Ahoj ako sa máš ,tak čau ,ja už idem ... Tak ahoj už som späť..."; $hl=""; $id=0; if(preg_match_all("/Ahoj|Čau|ahoj|čau/m",$text,$o,PREG_SET_ORDER)){ foreach($o as $t){ $hl=$t[0]; if($hl=="Ahoj") $id=0; elseif($hl=="ahoj")$id=1; elseif($hl=="Čau")$id=2; elseif($hl=="čau")$id=3; echo $hl."->".$id."<br>"; } } ?> Keď pridávaš hladané slová, oddeluješ ich znakom | v regexpe ("/Ahoj|ahoj|Čau|čau/m") <- sem to pridávaš |
||
Zavos Profil |
#6 · Zasláno: 18. 1. 2012, 20:44:52
SeparateSK:
Pekne vysvetleny, hned to jdem zkus. Diky moc |
||
Časová prodleva: 14 let
|
0