Autor | Zpráva | ||
---|---|---|---|
BLR Profil * |
Ahoj,
$text = "<div><a>Odkaz</a>neco</div>dalsi</div>"; $neco = '@(<div>)(^[(</div>)]*)(</div>)@'; if(preg_match($neco, $text, $aa)) echo 'Found<br>'; Tento kod by mel vyparsovat "<a>Odkaz</a>neco". Problém bude asi tady: (^[(</div>)]*). Nevíte jak se to dá opravit ? Děkuju |
||
Jan Tvrdík Profil |
#2 · Zasláno: 4. 1. 2009, 08:59:56
$neco = '@<div>(.+?)</div>@'; |
||
BLR Profil * |
#3 · Zasláno: 4. 1. 2009, 10:42:41
Jan Tvrdík
Kupodivu to funguje! Jak tomu mám porozumět ? . = libovolný znak + = Předchozí znak tam bude minimálně jednou ? = Předchozí znak tam bude maximálně jednou |
||
Mastodont Profil |
#4 · Zasláno: 4. 1. 2009, 10:56:01
BLR
Otazník v tomto případě znamená něco jiného, zapíná líné chování pluska: http://pavucina.webmark.cz/11/regularni-vyrazy-php-5-modifikatory-kvantifikatory |
||
BLR Profil * |
#5 · Zasláno: 4. 1. 2009, 14:01:57
...minimální počet znaků, které jsou třeba, aby řetězec odpovídal regulárnímu výrazu.
Chápu, děkuji všem |
||
Časová prodleva: 14 let
|
0