原因:
php5.5以后的preg_replace不再支持e模式修饰符,可以用preg_replace_callback函数替换。
解决办法:
找到文件 Smarty_Compiler.class.php 第270行:
<span>/* replace special blocks by "{php}" */</span><span>$source_content</span><span>=</span> preg_replace(<span>$search.</span><span>'e'</span>, <span>"'"</span><span>.</span><span>$this</span><span>-></span>_quote_replace(<span>$this</span><span>-></span>left_delimiter) <span>.</span><span>'php'</span><span>.</span><span>"' . str_repeat(" ", substr_count('\0', " ")) .'"</span><span>.</span><span>$this</span><span>-></span>_quote_replace(<span>$this</span><span>-></span>right_delimiter) <span>.</span><span>"'"</span> , <span>$source_content</span>);
替换为:
<span>// 解决:preg_replace(): The /e modifier is deprecated, use preg_replace_callback ins</span><span>$source_content</span><span>=</span> preg_replace_callback(<span>$search</span>, create_function (<span>'$matches'</span>, <span>"return '"</span><span>.</span><span>$this</span><span>-></span>_quote_replace(<span>$this</span><span>-></span>left_delimiter) <span>.</span><span>'php'</span><span>.</span><span>"' . str_repeat(" ", substr_count('$matches[1]', " ")) .'"</span><span>.</span><span>$this</span><span>-></span>_quote_replace(<span>$this</span><span>-></span>right_delimiter) <span>.</span><span>"';"</span>) , <span>$source_content</span>);
转载自:http://www.epooll.com/archives/791/
').addClass('pre-numbering').hide(); $(this).addClass('has-numbering').parent().append($numbering); for (i = 1; i ').text(i)); }; $numbering.fadeIn(1700); }); });以上就介绍了 使用Smarty模板2x注入变量报错,包括了方面的内容,希望对PHP教程有兴趣的朋友有所帮助。
每个人都需要一台速度更快、更稳定的 PC。随着时间的推移,垃圾文件、旧注册表数据和不必要的后台进程会占用资源并降低性能。幸运的是,许多工具可以让 Windows 保持平稳运行。
Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号