webentwicklung-frage-antwort-db.com.de

Warnung: preg_replace (): Unbekannter Modifikator 'g'

Ich habe einen Fehler durch diese Regex bekommen ..

$strTmp = preg_replace('~(<\/CharacterStyleRange>(.*?)\n*</CharacterStyleRange>)~gim ' , "</CharacterStyleRange>", $strTmp);

error

Warnung: preg_replace (): Unbekannter Modifikator 'g' in ....

warum?

54
Foo Ling

g ist implizit in preg_replace(), Sie müssen es nicht einschließen.

129
rid

Sie müssen das globale Flag nicht angeben. Aus der documentation gibt es einen separaten Parameter ($limit), mit dem die Anzahl der zu ersetzenden Ersetzungen angegeben wird:

Grenze
Die maximal möglichen Ersetzungen für jedes Muster in jeder Betreffzeichenfolge. Der Standardwert ist -1 (keine Beschränkung).

Wenn Sie also keine positive Zahl für diesen Parameter angeben, werden alle Vorkommen standardmäßig ersetzt:

$strTmp = preg_replace('~(<\/CharacterStyleRange>(.*?)\n*</CharacterStyleRange>)~im ' , "</CharacterStyleRange>", $strTmp);
35
p.s.w.g

es gibt ein/vor einem Buchstaben G in der Zeichenfolge, der Sie ersetzen

0
Cparello