时间:2021-07-01 10:21:17 帮助过:18人阅读
php5.5以后的preg_replace不再支持e模式修饰符,可以用preg_replace_callback函数替换。
解决办法:
找到文件 Smarty_Compiler.class.php 第270行:
- <code><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(\"\n\", substr_count('\\0', \"\n\")) .'"</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>);</code>
替换为:
- <code><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(\"\n\", substr_count('\$matches[1]', \"\n\")) .'"</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>);</code>
转载自:http://www.epooll.com/archives/791/
').addClass('pre-numbering').hide(); $(this).addClass('has-numbering').parent().append($numbering); for (i = 1; i <= lines; i++) { $numbering.append($('以上就介绍了 使用Smarty模板2x注入变量报错,包括了方面的内容,希望对PHP教程有兴趣的朋友有所帮助。