phpbar.de logo

Mailinglisten-Archive

[php] =?ISO-8859-1?Q?Bug_in_preg=5Freplace_oder_Bl=F6dheit=3F?=

[php] Bug in preg_replace oder Blödheit?

Christoph Reeg php_(at)_phpcenter.de
Sun, 25 Mar 2001 20:45:57 +0200 (CEST)


Hallo,
ich habe ein kleines Problem mit preg_replace. Mit PHP 4.0.3pl1 macht er
das gewünschte, unter PHP 4.0.4pl1 gibt es Schwachsinn.

Konkret:
Das folgende Script soll vor die _,%,& einen \ schreiben und danach den
Text ausgeben.

<?php
$text = "Test mit_ und %";
$text = preg_replace("/([_%&])/","\\\\1",$text);
echo $text;
?>

Die Ausgabe bei PHP 4.0.4pl1:
Test mit\\1 und \\1

bei PHP 4.0.3pl1:
Test mit\_ und \%

Jeweils getest mit Apache unter Linux.

Ich bin der Meinung, daß das Verhalten vom 4.0.3 richtig ist, oder irre
ich mich?

Vielen Dank für Antworten,
Christoph



php::bar PHP Wiki   -   Listenarchive