phpbar.de logo

Mailinglisten-Archive

[php] Problem mit preg_match

[php] Problem mit preg_match

Philipp Groszmann philister at feldwaldwiese.de
Fre Okt 29 12:21:34 CEST 2004


Moin Angel,

Am 29.10.2004 um 11:40 schrieb ANGEL Harald:

> 	$string = "text [IMG=111] text [IMG=222] text [IMG=333]";
> 	$search = '#\[IMG=(.*?)\]#';
> 	preg_match ($search, $string, $textArray);
> 	for ($i=0; $i<=count($textArray); $i++) {
> 		echo $textArray[$i]."<br>";
> 	}
>
> Als Ausgabe hab ich mir erhofft:
> 	[IMG=111]
> 	[IMG=222]
> 	[IMG=333]
>
> Ich bekomm aber das:
> 	[IMG=111]
> 	111
>
> Kann mir da wer sagen was ich falsch mache??

ja ich ;-)

1.) [...]weil preg_match() die Suche nach der ersten Übereinstimmung 
beendet. Im Gegensatz dazu setzt preg_match_all() die Suche bis zum 
Ende von Zeichenkette fort[...]

2.) $treffer[0]  enthält dann den Text, der mit dem kompletten 
Suchmuster übereinstimmt, $treffer[1] den Text, der mit dem ersten 
eingeklammerten Teil-Suchmuster übereinstimmt und so weiter.

http://de3.php.net/manual/de/function.preg-match.php
bzw.
http://de3.php.net/manual/de/function.preg-match-all.php

cheers
Philipp

php::bar PHP Wiki   -   Listenarchive