[PHP] preg_replace end-of-string $ klappt nicht
-
Hi,
ich wollte mir $ als end-of-string zu Nutze machen. Geht aber nicht.
$test = "Halli hallo, so und so"; $test = preg_replace( '/so$/', "soooo", $test);
So ersetzt er nicht. Wie-so?
-
ups, geht doch. Das Problem lag wo anders. Dass dieses minimale Codebeispiel dann doch funktionierte, hat mich auf das Problem gestoßen!
-
Okay, jetzt habe ich aber ein getestetes Beispiel, was nicht klappt:
$test = "hallo hallo du du<br/>"; $test = preg_replace("/ (hallo|du) /", " banane ", $test); echo $test;
Ausgabe: hallo banane du du
Das ist natürlich Quatsch. Er soll das mittlere hallo und du ersetzen. Was mache ich jetzt?
-
Okay, ich bin jetzt auf diese Boundaries gekommen.
$test = "hallo hallo du du<br/>"; $test = preg_replace("/\b(hallo|du)\b/", " banane ", $test); echo $test;
Das klappt.
Wenn ich jetzt aber statt hallo etwas mit Sonderzeichen habe, dann funktioniert es nicht mehr... Wie kann ich denn so etwas matchen? Z.B. hallo: statt hallo?
-
ich weiß nicht, wo die Doppelpunkte stehen sollen. Drum hab ich sie einfach irgendwo hingemacht. Vielleicht hilft es ja dem Frosch im Web
$test = "hallo::: hallo: du du<br/>"; $test = preg_replace("/\b(hallo|du)\b[:]*/", " banane ", $test); echo $test;
-
Super. Ich melde mich erst spät, daher liest Du das vielleicht nicht, aber das gefällt mir sehr gut! Dankeschön.