「preg_replace()」を「preg_replace_callback()」もしくは「preg_replace_callback_array()」へ書き直すには?
やりたいこと
・下記コードをPHP7で動作させたい
・e修飾子が原因であることは分かったのですが…
<?php
$html = "hoge";
$search = array ("'正規表現1'",
"'正規表現2'",
"'正規表現3'",
"'&#(d+);'e");
$replace = array (" ",
" ",
" ",
' ');
var_dump(preg_replace($search, $replace, $html));
Q1.そもそも下記はどういう意味でしょうか?
'&#(d+);'e
Q2.何へ修正するのでしょうか?
・preg_replace_callback()?
・それとも配列だから、preg_replace_callback_array()?
Q3.どうやって修正するのでしょうか?
追記
・実際のコード(の一部)です
・$searchも$replaceも配列要素数が14あったので、関係ないと思った箇所は削除して質問したのですが…
・search配列の一番最後の要素が「"'&#(d+);'e"」でした
・$htmlはダミーで文字列を入れていますが、実際にはHTMLタグ格納を想定していると思います
$replace = array (" ",
" ",
" ",
" ",
" \" ",
" & ",
" ",
" ",
" ",
' ',
' ',
' ',
' ',
' ');
return strip_tags ( クラス名::メソッド名(preg_replace($search, $replace, $html)) );