这个正则表达式我得到了一个错误..
$strTmp = preg_replace('~(<\/CharacterStyleRange>(.*?)\n*</CharacterStyleRange>)~gim ' , "</CharacterStyleRange>", $strTmp);
Run Code Online (Sandbox Code Playgroud)
错误
警告:preg_replace():未知的修饰符'g'在....
为什么?
p.s*_*w.g 39
您不必指定全局标志.从文档中,有一个单独的参数($limit
)用于指定要进行的替换次数:
limit
每个主题字符串中每个模式的最大可能替换次数.默认为-1(无限制).
因此,除非您为此参数指定正数,否则它将默认替换所有匹配项:
$strTmp = preg_replace('~(<\/CharacterStyleRange>(.*?)\n*</CharacterStyleRange>)~im ' , "</CharacterStyleRange>", $strTmp);
Run Code Online (Sandbox Code Playgroud)