Autor | Zpráva | ||
---|---|---|---|
K. Profil * |
#1 · Zasláno: 5. 9. 2006, 10:57:48
Hezký den.
Mám menší problém s regulárním výrazem, když mám v řetězci odřádkování. Tedy něco jako např.
(\n je odřádkování) V tomto případě program vypíše pouze "d". Já bych ale potřeboval, aby vypsal "d\nefgh" (tedy s odřádkováním). Nevíte někdo, jak donutit fci preg_match, aby pracovala i s dalšími řádky? Děkuji. |
||
venca12 Profil |
#2 · Zasláno: 5. 9. 2006, 11:45:54
Zkus tohle:
$str = "abcd\nefgh"; |
||
gaminn Profil * |
#3 · Zasláno: 5. 9. 2006, 11:56:12
Zpětně by to pak chtělo:
echo strtr($matches[1], array ("\\n" => "\n")); Proč ale funkce preg_match nebere v úvahu nové řádky? Např. ereg, ereg_replace v tomto směru fungují správně (nebo spíš tak, jak bych čekal). |
||
zdenek Profil * |
#4 · Zasláno: 5. 9. 2006, 11:57:31
Zkus přidat modifikátor "s" na konec výrazu - výsledek je "/.*bc(.*)/s"
potom to vypíše "d efgh" , ale ty asi chceš i to "\n" ? |
||
ah01 Profil |
#5 · Zasláno: 5. 9. 2006, 11:58:57 · Upravil/a: ah01
venca12
gaminn To je jako drbat se levou nohou za pravým uchem ... K. Přepínač Single line (viz http://interval.cz/clanky/perl-com patible-regularni-vyrazy-v-php-modif ikatory-a-line-kvantifikatory/ preg_match("/.*bc(.*)/s",$str,$matches); |
||
gaminn Profil * |
#6 · Zasláno: 5. 9. 2006, 12:13:13
ah01
No však na to jsem se ptal;) To předchozí řešení určitě není ideální. |
||
venca12 Profil |
#7 · Zasláno: 5. 9. 2006, 12:21:48
ah01 ::: jsem gymnasta
|
||
K. Profil * |
#8 · Zasláno: 5. 9. 2006, 13:27:23
ah01
To je přesně to, co jsem potřeboval. Díky moc. Stejně jako za odkaz na ten článek, který mi doplnil pár chybějících znalostí o reg. výrazech. |
||
Časová prodleva: 18 let
|
Toto téma je uzamčeno. Odpověď nelze zaslat.
0