正则模式字串使用单引号和双引号有区别

要改一个项目,从smarty模板迁移到thinkphp的自带模板,大量的标签要改,写了个替换程序,结果遇到一个奇特的问题,

preg_replace(‘/\<\{\$arrTemplate\.(.*?)\}\>/i’,”<{:L(‘$1’)}>”,$contents);

第一个参数如果用双引号圈起来,就无法匹配到,用单引号就没问题,真是搞不清问题所在,有时候遇到这类问题,如果确认正则模式写的没问题,换一下字符串的单双引号,也许有惊喜。

发表评论