2016-12-28 10 views
-2

PHPのstrip_tags関数に問題があります。私はhtmlタグのホワイトリストを含むリストを持っています。あるPHPのstrip_tags関数を別の関数で使用することはできません

この関数の
setAllowedHtmlTags(); 

と出力:

"<a><table><br>" 

私は他のHTMLタグを解消したいが、このことは、リストのような関数から生成されます。次のようにそのため私は、strip_tags関数を使用します。

echo strip_tags("sample text", setAllowedHtmlTags()); 

そして、ここでは私の関数である。

function setAllowedHtmlTags() 
{ 
    $db  = new PDO('mysql:host=' . host . ';dbname=' . DBNAME_SCHEMA, user, password); 
    $sql = "SELECT html_tag FROM allowed_html_tags_table"; 
    $query = $db->query($sql); 

    $tagList = ""; 

    if ($query->rowCount()){ 
     foreach($query as $row){ 
      $tagList .= $row['html_tag']; 
     } 
    } 

    return htmlentities($tagList); 
} 

しかし、それは動作しません。 strip_tags機能は、ホワイトリストの鉱山を含むすべてのhtmlタグを削除します。この問題を解決するのを手伝ってもらえますか?

+7

'setAllowedHtmlTags'機能 – Dekel

+3

のコードを追加しますが、[期待通りに動作するようです](https://3v4l.org/RvojD) –

+0

重要な本当のあなたは、関数を使用する理由だけ


「'返しません"'、 '' const 'や何かをセットアップしないのはなぜですか? –
Pitchinnate

答えて

-1

あなたの機能setAllowedHtmlTags()はあなたが言ったことを本当に返しますか? var_dump(setAllowedHtmlTags());を試して、実際に関数が返すものを確認してください。

g etAllowedHtmlTags()に電話したかったのですか?

+0

はい、私は期待した文字列を返します。 –

0

私はhtml_entity_decode()関数の代わりにhtmlentities()関数の値を返す問題を発見しました。

関連する問題