Autor | Zpráva | ||
---|---|---|---|
DaveLister Profil |
#1 · Zasláno: 19. 7. 2008, 17:01:34 · Upravil/a: DaveLister
Potžebuji vytáhnout pomocí Preg_match vytáhnout řetězec na víc řádcích
Příklad: <div id="neco"> <a href="neco.neco">blabla</a> <a href="neco.neco">blabla</a> <a href="neco.neco">blabla</a> </div> A já potřebuji, abych vyáhl ty odkazy (všechno mezi <div id="neco"> a </div>) Problém je, že preg_match pracuje vždy pouze s jedním řádkem, i když dám jako pattern "<div id="neco>(.*)" načte se mi pouze ta jedna řádka |
||
bukaj Profil |
#2 · Zasláno: 19. 7. 2008, 17:09:10
DaveLister
preg_match_all()? |
||
DaveLister Profil |
#3 · Zasláno: 19. 7. 2008, 17:57:22
To určitě ne,
Preg_match_all() je jenom to, že vytáhne všechno, co odpovídá danému patternu, i když je to v řetězci několikřát.... To znamená, že bych moh jako pattern dát "<a href="neco.neco">(.*)</a>" a dostal bych pole, kde by bylo 3x blablabla Problém je, že to zas pracuje pouze s jedním řádkem :( |
||
Nox Profil |
#4 · Zasláno: 19. 7. 2008, 18:00:37
DaveLister
Nešlo by v tom kontrolovaném řetězci ta zalomení vystřílet přes nějakou řetězcovou funkci? |
||
DaveLister Profil |
#5 · Zasláno: 19. 7. 2008, 18:08:09
Jako str_replace("\n","",$string)
Na to jsem myslel, ale chtěl jsem nějakou variantu přímo přez regulární výrazy.... Každopádně pokud to nepude použiji toto. |
||
Leo Profil |
#6 · Zasláno: 19. 7. 2008, 18:11:09
Za regularnim vyrazem pouzijete modifikator "s", viz
http://interval.cz/clanky/perl-compatible-regularni-vyrazy-v-php-modif ikatory-a-line-kvantifikatory/ Leo |
||
Časová prodleva: 16 let
|
0