この正規表現でエラーになってしまいました...
$strTmp = preg_replace('~(<\/CharacterStyleRange>(.*?)\n*</CharacterStyleRange>)~gim ' , "</CharacterStyleRange>", $strTmp);
エラー
警告: preg_replace(): 不明な修飾子 'g' in ....
なんで?
g
で暗黙的preg_replace()
です。含める必要はありません。
グローバル フラグを指定する必要はありません。documentationから、作成$limit
する置換の数を指定するために使用される別のパラメーター ( ) があります。
limit 各サブジェクト文字列の各パターンの可能な置換の最大数。デフォルトは-1 (無制限) です。
したがって、このパラメーターに正の数を指定しない限り、デフォルトですべての出現が置き換えられます。
$strTmp = preg_replace('~(<\/CharacterStyleRange>(.*?)\n*</CharacterStyleRange>)~im ' , "</CharacterStyleRange>", $strTmp);