1

PHP を使用して HTML をエンティティに変換しようとしていますが、 <br> および <a> タグを除外する必要があります。

ここに私のコードの例があります

 <?php 
  $string[0] = "<a href='http://hidd3n.tk'>Needs to stay</a> Filler text in between 
 <br><br> <script src='http://malicious.com/'></script> NEEDS to go";
  $string[1] = htmlentities($string[0], ENT_QUOTES, "UTF-8");
 ?>
4

2 に答える 2

3

より安全なBBCodeを使用することをお勧めします。

于 2012-05-01T11:54:00.077 に答える
-3

編集:

さて、私は方法を考え出しました。

この関数を前の関数よりも安全に使用してください。

function convert_myhtml_entities($string){
    $string = htmlentities($string, ENT_NOQUOTES, "UTF-8");
    $string = preg_replace('/&lt;\s*br\s*(\/|)\s*&gt;/U','<br$1>',$string);
    $string = preg_replace('/&lt;\s*a(.*)\s*&gt;/U','<a$1>',$string);
    $string = preg_replace('/&lt;\s*\/\s*a\s*&gt;/U','</a>',$string);
    return $string;
}

これで、上記の文字列でテストされました。

于 2012-05-01T11:35:36.397 に答える