mPDFで「The /e modifier is …」エラー
pdf関連のPHPライブラリ「mPDF」を使っているページがエラーログにのっており「PHP Deprecated: preg_replace(): The /e modifier is deprecated, use preg_replace_callback instead in」というエラー内容だった。以下に対応方法をメモ。
対応方法
/mpdf/includes/functions.phpの66、67行目を以下の通り書き換える。バージョンによって行数は違うかもしれない。
1 2 3 4 5 6 7 |
#以下の部分を、 #$str = preg_replace('/\&\#([0-9]+)\;/me', "code2utf('\\1',{$lo})",$str); #$str = preg_replace('/\&\#x([0-9a-fA-F]+)\;/me', "codeHex2utf('\\1',{$lo})",$str); #以下の通り書き換える $str = preg_replace_callback('/\&\#([0-9]+)\;/m', function($m) use ($lo){return code2utf($m[1],$lo); }, $str); $str = preg_replace_callback('/\&\#x([0-9a-fA-F]+)\;/m', function($m) use ($lo){return codeHex2utf($m[1],$lo);}, $str); |
そもそもこのエラーは何?
preg_replace()のe修飾子はPHP5.5.0から非推奨になり、エラーが表示されるらしい。
参考サイト
まとめ
mPDFで「PHP Deprecated: preg_replace(): The /e modifier is deprecated, use preg_replace_callback instead in」エラーが発生する場合はfunctions.phpを編集することで解決する。
関連記事
-
-
Opauthで「Please change the…」エラー
Opauthを使用中に「Notice: Please change the va ...
-
-
PHPのLocationに変数を入れる
ページ遷移したい際に使う、 header("Location:./aaa.htm ...
-
-
CodeIgniterでCronを実行する方法
CodeIgniterで特定の処理をCronで自動で実行したかった。以下に設定方 ...
-
-
composerでライブラリのインストールとインストール時のエラー
composerでライブラリをインストールする際に「The following ...
-
-
カンマ区切りの文字列で最後のカンマを排除
文字列をカンマ区切りにして、カンマを取り外して 配列にする際、頭もしくはお尻につ ...
-
-
画像をURLから取得して異なるサーバーにアップロード
■やりたかった事 ・画像があるサーバーはaaaサーバー ・アップロード先はbbb ...
-
-
PHPの文字化け対策
PHPファイルもDBも全部UTF-8で出来たらいいけど、 そうもいかない場合が多 ...
-
-
PHPからMySQLデータを取得した際に一括で配列に入れる方法
MySQLからデータを取得して、PHP側で配列に入れる際に今まで一個ずつ書いてい ...
-
-
imgタグで作成したグラフをjQueryでリアルタイムに動かす
このグラフをリアルタイムプレビューさせる。 ■サンプル http://sampl ...
-
-
FLASHから受信した画像をPHPで保存し、サムネイルも作る
■参考サイト ・FLASH http://www.ilovex.co.jp/bl ...