Frage

ich lese das PHP-RegEx-Seite, aber entweder übersehe ich etwas, verstehe etwas falsch oder es funktioniert nicht so, wie sie es sagen.Ich vermute, es ist eines der ersten beiden.

$str = preg_replace("([|]\d*)", "\1;", $str);
War es hilfreich?

Lösung

Ihr regulärer Ausdruck sollte der Perl-Syntax folgen, d. h. er muss mit demselben Zeichen beginnen und enden (mit einigen Ausnahmen).Außerdem sollte die Rückreferenz mit einem doppelten Schrägstrich beginnen, um das doppelte Escapezeichen von PHP zu umgehen.Das sollte funktionieren (mit einem kurzen Test):

$str = "asdfasdf |123123 asdf iakds |302 asdf |11";
$str = preg_replace("/([|]\d*)/", "\\1;", $str);
echo $str; // prints "asdfasdf |123123; asdf iakds |302; asdf |11;"
Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top