Autor Zpráva
Karel 5588
Profil *
Chtel bych vyzdycky vyseparovat neco po urcity sled znaku a po nem:

$zacatek = preg_replace('@([^RETEZEC]*)RETEZEC.*@', '$1', $text);
$zbytek = preg_replace('@[^RETEZEC]*RETEZEC(.*)@', '$1', $text);

a samozrejme mi to nefunguje :)

nevim jak mu totiz rict, at bere vsechno nez narazi na urcity sled znaku... nez narazi na jeden znak, to samozrejme neni tezky, ale at to zavorkuju s retezcem jak chci, tak bez uspechu. dekuji moc za rady.
Mireczech
Profil
do [] se dava mnozina znaku, tzn az tam napises jakykoli retezec, tak to bude v regexp jen mnozina znaku.
Doporucuji precist treba: http://www.root.cz/clanky/regularni-vyrazy-1/
Karlek 5588
Profil *
ok, ale nefunguje to ani kdyz to uzavorkuji, takze napr $zacatek = preg_replace('@([^(RETEZEC)]*)RETEZEC.*@', '$1', $text);

snazil sem se precist co nejvic tutorialu a serialu o regularnich vyrazech a zatim sem nenasel odpoved.

navic ja vim ze to mam blbe, to sem psal, takze mi nepiste prosim, ze je to spatne, kdyz to uz vim :))

vite nekdo jak na to?
bukaj
Profil
$retezec; //proměnná obsahující původní řetězec
$vysledky = array(); //pole, kam se budou ukládat výsledky
preg_match('/^(.*)RETEZEC(.*)$/', $retezec, $vysledky);

V poli $vysledky je teď uloženo pod klíčem:
0 - celý řetězec; nebo nic, pokud původní $retezec neobsahuje RETEZEC
1 - vše před řetězcem RETEZEC
2 - vše po řetězci RETEZEC

**edit: Podívej se třeba na regularnivyrazy.info nebo na seriál na intervalu.cz.
Hooonza
Profil
Jestli jde jen o tu separaci, proč nepoužít třeba explode()? K tomu nejsou třeba ani regulární výrazy.
Ev. split() RV taky použít umí.

Vaše odpověď

Mohlo by se hodit


Prosím používejte diakritiku a interpunkci.

Ochrana proti spamu. Napište prosím číslo dvě-sta čtyřicet-sedm:

0