phpbar.de logo

Mailinglisten-Archive

[php] preg_match_all

[php] preg_match_all

Alex Emken php at emken.com
Mit Mar 29 23:58:13 CEST 2006


Falk Fiedler schrieb:
> Über <a href="[linkto:13]">allen</a> strahlt die <a
> href="[linkto:14]">Sonne</a> – <a href="[linkto:13]">über</a> allen in der
> Welt. 
>
> preg_match_all('/\[linkto:(.*)\]/',$text,$linkto); 
> $num = count($linkto['1']); 
> echo $num; 
>
>
> Eigentlich sollte $num 3 ergeben, aber ich bekomme nur eins zurück. 
>   
Hi!

Was auch vollkommen normal ist. Dein Regex ist zu "gierig".

Abhilfe: preg_match_all('/\[linkto:(.*?)\]/', $text, $linkto);

.*? matched nur das Nötigste. Vorher wurde jedes Zeichen, bis zum
letzten ] benutzt.

Gruß,
Alex

PS: Bitte bei neuen Themen nicht auf eine alte Mail antworten.

php::bar PHP Wiki   -   Listenarchive