2013-06-25 34 views
0

我正在从数据库中检索文本和HTML标记,同时使用此函数对浏览器的值进行编码。PHP htmlentities不工作

foreach ($row as $key => &$value){ 
    $value = htmlspecialchars_decode(
       htmlentities($value,ENT_QUOTES), 
       ENT_NOQUOTES 
      ); 
} 

基本上,我的每一行循环和转化引号,单引号和其他特殊字符的实体,同时保持HTML标签。

然而,当有标签,如<a href="example.com">,引号是重复两次,并输出到这一点:

<a href=""example.com"">

我在做什么错?

+1

你现在有什么应[只是工作(https://eval.in/34914)。 – PeeHaa

+0

@PeeHaa是的,它现在正在工作,但现在它将HTML标签显示为文本。我如何获得HTML标签的工作? –

+0

只需使用['strip_tags'](http://php.net/manual/en/function.strip-tags.php)或[htmlpurifier](http://htmlpurifier.org/) – PeeHaa

回答

0

你要用htmlentities:htmlentities($str, ENT_QUOTES);