89

この正規表現でエラーになってしまいました...

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

エラー

警告: preg_replace(): 不明な修飾子 'g' in ....

なんで?

4

3 に答える 3

182

gで暗黙的preg_replace()です。含める必要はありません。

于 2013-09-27T22:27:01.333 に答える
50

グローバル フラグを指定する必要はありません。documentationから、作成$limitする置換の数を指定するために使用される別のパラメーター ( ) があります。

limit 各サブジェクト文字列の各パターンの可能な置換の最大数。デフォルトは-1 (無制限) です。

したがって、このパラメーターに正の数を指定しない限り、デフォルトですべての出現が置き換えられます。

$strTmp = preg_replace('~(<\/CharacterStyleRange>(.*?)\n*</CharacterStyleRange>)~im ' , "</CharacterStyleRange>", $strTmp);
于 2013-09-27T22:28:12.757 に答える