strip_tags的话只能过滤html的标签,我想把 等这些转义字符给过滤掉,有这样的函数吗??

解决方案 »

  1.   

     应该是属于转义字符吧?
      

  2.   

    string htmlspecialchars_decode ( string $string [, int $quote_style = ENT_COMPAT ] )
      

  3.   

    $str = "&"<> "; 
    echo htmlspecialchars_decode($str, ENT_QUOTES); 
    最后浏览器的源代码解析的结果是&"<>&nbsp,也就是说其他的都ok了,就这个&nbsp;不行,&nbsp;属于HTML 实体吗?
      

  4.   

    那个函数不会转化 &nbsp; 
    $str = "&amp;&quot;&lt;&gt;&nbsp;"; 
    echo preg_replace('/&nbsp;/','',$str);
      

  5.   

    &nbsp; 是空格的 HTML 实体
    输出成 html 时不必过滤
    输出成 text 时要做字符串替换或编码转换
      

  6.   


    那么这个&nbsp;属于HTML实体吗?如果不属于HTML实体的话应该属于什么类型?我百度查了一下在HTML实体的列表中确实也没找到&nbsp;
    我也想过用preg_replace,但是我觉得其他可能还有类似于&nbsp;这样不能htmlspecialchars_decode的字符。现在我这么做主要是针对于网站的自主description的生产,所以如果description当中有&nbsp;这类字符的话肯定会多多少少影响到seo的。
      

  7.   

    mb_convert_encoding($text, "utf-8", "HTML-ENTITIES");
      

  8.   

    现在处理完之后description显示成这样了,虽然html的标签过滤掉了,但是在源码输出的时候仍然会有一个分段的显示
      

  9.   

    strip_tags过滤的是html标签,但是div,br等不属于html标签?
    我用div或者br的时候的时候源码就会进行分段,如果我yongp标签分段的话源码内就不显示。敢问各位大神如何解决?div和br这些不属于html标签的话应该属于什么标签??