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

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

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

Smartyの不具合|テクニカルブログ|株式会社エムハンド

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