2017-10-06 2 views
0

Ich brauche alle Vorkommen der Zeichenfolge ersetzen Welt [*]: mit 2000

Ausgang: 20002000hello

Wie kann ich das erreichen? Ich verwende derzeit den folgenden Code, aber es funktioniert nicht.Ersetzen Sie alle Vorkommen auch mit regex php

preg_replace("/World [(.*?)] : /", "2000", "World [23] : World[125] : hello",-1) 
+1

was die Eingabe? – Couteau

+0

Welt [23]: Welt [125]: Hallo –

+0

versuche dies "/ (Welt \ [. * \]:) /" – Couteau

Antwort

1

können Sie verwenden:

$out = preg_replace('/World\s*\[.*?\] : /', "2000", "World [23] : World[125] : hello"); 
//=> 20002000hello 

[ und ] sind spezielle Regex Meta-Zeichen, die zu entkommen brauchen Raum und machen nach World optional mit 0 oder mehr Übereinstimmungen.

+1

Perfekt! Danke vielmals. Ich werde diesen Fehler nicht noch einmal machen. –

1
$str = "World [23] : World [125] : hello"; 
$str = preg_replace("/World (.*?) /", "2000", $str); 
print $str; 
Verwandte Themen