Autor | Zpráva | ||
---|---|---|---|
jozinek Profil * |
#1 · Zasláno: 18. 3. 2009, 09:35:04
Ahoj,
pomocí preg_match testuju řetězec na výskyt několika možných řetězců. Mám problém že v těch řetězcích se určité části shodují a já bych potřeboval aby se mi ohlašovala pouze přesná shoda CELÉHO řetězce. díky moc |
||
Joker Profil |
#2 · Zasláno: 18. 3. 2009, 09:37:37
jozinek
Jak vypadá regulární výraz? Ale jestli to má být přesná shoda celého řetězce na několik variant, je celkem zbytečné používat preg_match: if(($retezec == "první") || ($retezec == "druhý") || ($retezec == "třetí")) echo("Shoda!"); |
||
jozinek Profil * |
#3 · Zasláno: 18. 3. 2009, 09:48:58
procházím postupně řádky a testuju je na shodu z $patterns. ovšem echo se vypíše už při prvím nálezu řetězce "text neco" a já potřebuju aby se to vypsalo až u řádku, který obsahuje "text neco super". Prostě přesnou shodu.
$patterns = array ( "text neco", "text neco super", "text neco super super" ); foreach ($lines as $line){ foreach ($patterns as $pattern){ $regexp = "/".$pattern."/"; if (preg_match($pattern, $line)){ echo $line; break 2; } } } |
||
jozinek Profil * |
#4 · Zasláno: 18. 3. 2009, 09:50:01
sorry, na radku 11 je chyba, má tam být $regexp místo $pattern
|
||
Majkl578 Profil |
#5 · Zasláno: 18. 3. 2009, 09:53:50
jozinek
^vyraz$ ^ zacatek retezce $ konec retezce |
||
Joker Profil |
#6 · Zasláno: 18. 3. 2009, 10:43:29
jozinek
Stále trvá můj dotaz: Proč nepoužít operátor == místo preg_match? $patterns = array ( "text neco", "text neco super", "text neco super super" ); foreach ($lines as $line){ foreach ($patterns as $pattern){ if ($lines == $pattern){ echo $line; break 2; } } } |
||
jozinek Profil * |
#7 · Zasláno: 18. 3. 2009, 11:30:12
Joker:
ty patterns jsou pouze části těch testovaných řetězců |
||
Časová prodleva: 16 let
|
0