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?

Foo Ling
quelle

Antworten:

162

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

loswerden
quelle
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);
pswg
quelle
-2

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

Cparello
quelle
Dies warf nur diesen Fehler für mich "Glasshouse Images / Getty Images" Meine Vermutung ist preg_ sieht das als
Fluchtcharakter