原因:
php5.5以後的preg_replace不再支援e模式修飾符,可以用preg_replace_callback函數替換。
解決辦法:
找到檔案 Smarty_Compiler.class.php 第270行:
/* replace special blocks by "{php}" */$source_content= preg_replace($search.'e', "'".$this->_quote_replace($this->left_delimiter) .'php'."' . str_repeat(\"\n\", substr_count('\\0', \"\n\")) .'".$this->_quote_replace($this->right_delimiter) ."'" , $source_content);
替換為:
// 解決:preg_replace(): The /e modifier is deprecated, use preg_replace_callback ins$source_content= preg_replace_callback($search, create_function ('$matches', "return '".$this->_quote_replace($this->left_delimiter) .'php'."' . str_repeat(\"\n\", substr_count('\$matches[1]', \"\n\")) .'".$this->_quote_replace($this->right_delimiter) ."';") , $source_content);
轉載自: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($('
').text(i)); }; $numbering.fadeIn(1700); }); });
以上就介紹了 使用Smarty模板2x注入變數報錯,包括了方面的內容,希望對PHP教程有興趣的朋友有所協助。