Mailinglisten-Archive |
Hallo Liste, ich habe die Frage bereits in einer anderen Liste gestellt, aber leider keine mich befriedigende Antwort bekommen. Mir geht es nicht um dieses Beispiel, sondern um den Unterschied warum die eine methode ausgeführt wird, die andere aber nicht und ob dies ein Bug ist. Dieses Beispiel ist ansonsten ja sinnlos: kann mir jemand sagen ob folgendes Problem bekannt ist? Sowohl die Funktion preg_replace() als auch ereg_replace() führen strtoupper() als Replacevalue nicht aus. Ich erwarte eine großen TIGER. Ich habe auf bugs.php.net nichts entsprechendes gefunden. Wird produziert von der php.exe der Version 4.3.1 unter Windows 2000 SP3 (Windows NT 5.0 build 2195). <?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>"; ?> Ergebnis: b5101eb6e685091719013d1a75756a53b5101eb6e685091719013d1a75756a53 tiger b5101eb6e685091719013d1a75756a53b5101eb6e685091719013d1a75756a53 tiger > $str = preg_replace( '/(.*)/msieU', 'strtoupper("\\1")', $str ) > > So würde das gehen, allerdings ist es zumindest bei diesem > Match sinnlos > preg_replace zu nehmen, denn ein $str = strtoupper( $str ) tut es > genauso :) -- Infos zur Mailingliste, zur Teilnahme und zum An- und Abmelden unter -->> http://www.4t2.com/mysql
php::bar PHP Wiki - Listenarchive