PHPのバージョンを上げたら、Smarty関連でエラーが出たという話

PHPのバージョンを上げたら、テンプレートで使用していた、Smarty関連でエラーが出てしまいました。

↓こちらのサイトを参考にして修正しました。

https://www.m-hand.co.jp/program/913/

Smarty :: View topic - php5.5 deprecated preg_replace.

修正前

    $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);

修正後

    $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);