アフィリエイト広告を利用しています

2018年12月31日

preg_replace関数のeオプション

pearのQuickformを使っている。

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関数への置き換えは絶対にできなかった。

感謝!!








posted by db-engineer at 00:00 | Comment(0) | PHP

この記事へのコメント
コメントを書く

お名前:

メールアドレス:


ホームページアドレス:

コメント:

※ブログオーナーが承認したコメントのみ表示されます。

検索
最新記事
カテゴリーアーカイブ
プロフィール
db-engineerさんの画像
db-engineer
プロフィール
タグクラウド