Sie befinden sich hier im Forenarchiv von phpforum.de wenn Sie direkt ins Forum möchten, klicken Sie bitte hier. Zur Startseite kommen Sie hier.

Variablenproblem mit preg_replace

Hallo, mit folgenden Zeilen habe ich ein Problem:

Code:                   In Zwischenablage kopieren (nur IE)
1">

preg_replace soll prüfen, ob $old in $input vorhanden ist und von pre und post umschlossen wird. Falls ja, soll $old durch $new ersetzt werden, falls nein soll nichts verändert werden.

Bisher funktionierte das wunderbar, bis ich
Code:                   In Zwischenablage kopieren (nur IE)
2">

gesetzt habe.
Als erstes wertet php scheinbar $new aus und übergibt den entstehenden String an preg_replace, also:
Code:                   In Zwischenablage kopieren (nur IE)
3">

Wie kann ich
Code:                   In Zwischenablage kopieren (nur IE)
4">

schreiben um dies zu vermeiden?
Hier gehts zum Orginal Eintrag "Variablenproblem mit preg_replace" im Forum

Antworten

Zitat:
Wenn Sie mit einer Ersetzung arbeiten wollen, in der auf eine Rückreferenzierung direkt eine weitere Zahl folgt (d.h., direkt nach der Übereinstimmmung mit einem Suchmuster soll eine Zahl kommen), können Sie für Ihre Rückreferenzierung nicht die Schreibweise \\1 verwenden. So würde z.B. \\11 die Funktion preg_replace() verwirren, weil sie nicht weiß, ob Sie die Rückreferenzierung \\1 gefolgt von der Zahl 1 wollen oder nur die Rückreferenzierung \\11. In diesem Fall ist die Lösung, \${1}1 zu verwenden. Damit wird eine isolierte Rückreferenzierung $1 erzeugt und die 1 bleibt ein Zahlensymbol.

http://de3.php.net/manual/de/function.preg-replace.php




2.

Danke Al3x,

vor lauter Probieren und Suchen von Lösungen habe ich bei Lesen der doc nicht gemerkt, dass sich meine Variable mit der Zahl in der doc deckt.

*schäm* und nochmals thx, thx, thx.
Wieder was gelernt, phpfreund


Hier gehts zum Orginal Eintrag "Variablenproblem mit preg_replace" im Forum
 
phpforum.de | Impressum | Handy Bundles