phpbar.de logo

Mailinglisten-Archive

AW: preg_replace() Bug?

AW: preg_replace() Bug?

Andreas Müller mysql at universalware.de
Die Jul 15 16:43:32 CEST 2003


Hallo zusammen,
manchmal hilf Hirn einschalten :-)

> <?php
> echo preg_replace("|(.*)|", md5('\\1'), "hase")."<br>";
> echo preg_replace("|(.*)|", strtoupper('\\1'), "tiger")."<br>";
>
> echo ereg_replace("(.*)", md5('\\1'), "hase")."<br>";
> echo ereg_replace("(.*)", strtoupper('\\1'), "tiger")."<br>";
> ?>

Also md5 und strtoupper wird sehr wohl ausgeführt.

strtoupper('\\1') ist nunmal '\\1' ... dann geht '\\1' brav in die *_replace
funktion ein ...

*_replace führt das 2. Argument nicht für jedes gefundene Element aus
sondern benutzt den übergebenen String wie er ist für alle matches.
Die MD5 Funktion berechnet mal den MD5 Hash von `\1` und übergibt diesen
String als 2. Parameter.

Ich würde sagen das ist ein kompletter Denkfehler ... das wird so nie
funktionieren.

Gruß,
Andreas

-- 
Infos zur Mailingliste, zur Teilnahme und zum An- und Abmelden unter
-->>  http://www.4t2.com/mysql 


php::bar PHP Wiki   -   Listenarchive