phpbar.de logo

Mailinglisten-Archive

[php] preg_replace Problem

[php] preg_replace Problem

Alex Emken php at emken.com
Fre Jan 25 12:30:47 CET 2008


Hallo Marcel!

Marcel Kurz wrote:
> innerhalb von preg_replace funktioniert (!stristr("$1","?")? "?" : "&")
> nicht. Warum?
> 
> $suchmuster = '/href="(.*?)"/is';
> $text = preg_replace($suchmuster, "/href=\"$1".(!stristr("$1","?")? "?" :
> "&")."foo2=bar2\" ", $text);
> > 
> Wer hat ein Tip für mich...

Meines Erachtens erfolgt die Auswertung des Ausdrucks von innen nach 
außen und es wird somit zunächst stristr("$1","?") ausgewertet. Hier 
wird das $1 natürlich noch nicht als "Referenz" aus dem Suchmuster zur 
Verfügung.

Versuch es mal mit der preg_replace_callback-Funktion:
	http://de.php.net/manual/en/function.preg-replace-callback.php

Gruß
Alex

php::bar PHP Wiki   -   Listenarchive