

**やりたいこと**  
・下記コードをPHP7で動作させたい  
・e修飾子が原因であることは分かったのですが…

[code]

    <?php
    $html = "hoge"; 
    $search = array ("'正規表現1'",
               "'正規表現2'",
               "'正規表現3'",
               "'&#(d+);'e");
    $replace = array (" ",
                    " ",
                    " ",
                    ' ');
    var_dump(preg_replace($search, $replace, $html));
    
[/code]

* * *

**Q1.そもそも下記はどういう意味でしょうか？**

> '&#(d+);'e

* * *

**Q2.何へ修正するのでしょうか？**  
・preg_replace_callback()？  
・それとも配列だから、preg_replace_callback_array()？

* * *

**Q3.どうやって修正するのでしょうか？**

* * *

**追記**  
・実際のコード(の一部)です  
・$searchも$replaceも配列要素数が14あったので、関係ないと思った箇所は削除して質問したのですが…  
・search配列の一番最後の要素が「"'&#(d+);'e"」でした  
・$htmlはダミーで文字列を入れていますが、実際にはHTMLタグ格納を想定していると思います

[code]

    $replace = array (" ", 
                    " ", 
                    " ", 
                    " ", 
                    " \" ", 
                    " & ", 
                    " ", 
                    " ", 
                    " ", 
                    ' ', 
                    ' ', 
                    ' ', 
                    ' ', 
                    ' ');
    return strip_tags ( クラス名::メソッド名(preg_replace($search, $replace, $html)) );
    
[/code]


CC BY-SA 3.0
2017-03-07T09:58:46.873
33164
2017-03-07T13:06:57.827
2017-03-07T13:06:57.827
7886
7886
question
php 正規表現
「preg_replace()」を「preg_replace_callback()」もしくは「preg_replace_callback_array()」へ書き直すには？