Warnung: preg_replace (): Unbekannter Modifikator 'g'


79

Ich habe einen Fehler durch diesen regulären Ausdruck bekommen ...

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

Error

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

Warum?

Antworten:


162

gist implizit mit preg_replace(). Sie müssen es nicht einschließen.


44

Sie müssen das globale Flag nicht angeben. In der Dokumentation gibt es einen separaten Parameter ( $limit), mit dem die Anzahl der durchzuführenden Ersetzungen angegeben wird:

limit Die maximal mögliche Ersetzung für jedes Muster in jeder Betreffzeichenfolge. Der Standardwert ist -1 (keine Begrenzung).

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

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

-2

/In der Zeichenfolge, die Sie ersetzen, steht vor dem Buchstaben G ein.


Dies warf nur diesen Fehler für mich "Glasshouse Images / Getty Images" Meine Vermutung ist preg_ sieht das als
Fluchtcharakter
Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.