PHPが5.6から7.0に変わってしまった。
/smarty/Smarty_Compiler.class.php でpreg_replaceのeオプションが
使われており、エラーになる。
$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_callback関数で置き換えれば良いのだが
preg_replace_callback関数についての説明をWebで検索して
読んでも理解できない。preg_replace関数のeオプションの説明を
読んでも、分かったようでよく分からない。
万事休すかと思われたが、
偶然、以下のページにたどり着いた。
http://www.wildtree.jp/~araki/rakugaki/2014/01/post-2786.html
そのものずばり、
preg_replace_callback関数で置き換えたソースが
記載されていた。
上のページを見つけていなければ
preg_replace_callback関数への置き換えは絶対にできなかった。
感謝!!
【このカテゴリーの最新記事】
-
no image
-
no image
-
no image
-
no image