在做项目时用到,phpword中TemplateProcessor API接口进word模板文件中使用变量替换内容,在进行一个文档内容替换时出现变量无法替换,后面排除法,一块一块的删除word中文件内容看是哪个变量不能替换影响到了,试到最后发现可能是文档内容太长引起的。
一开始还以为是否是phpword中有配置文件做了限制,最后查百度才发现是
php正则失效-最大回溯(pcre.backtrack_limit)
修改方法有2种:
1,在代码运行前加上 ini_set("pcre.backtrack_limit",1000000); 把里面的值改大
2,修改php.ini配置文件中 backtarck_limit 的值 ,改大或是改成-1,重载配置即可。
以下是借别人的一张图: