当前位置:  开发笔记 > 编程语言 > 正文

如何删除html特殊字符?

如何解决《如何删除html特殊字符?》经验,为你挑选了4个好方法。

我正在为我的应用程序创建一个RSS提要文件,我想在其中删除HTML标记strip_tags.但是strip_tags不删除HTML特殊代码字符:

  & © 

等等

请告诉我任何可用于从我的字符串中删除这些特殊代码字符的函数.



1> schnaader..:

使用以下方法解码它们html_entity_decode或删除它们preg_replace:

$Content = preg_replace("/&#?[a-z0-9]+;/i","",$Content); 

(从这里)

编辑:根据Jacco的评论替代

用{2,8}或其他东西替换'+'可能会很好.这将限制在未编码的'&'出现时替换整个句子的机会.

$Content = preg_replace("/&#?[a-z0-9]{2,8};/i","",$Content); 


这些字符实体在RSS/Atom/XML中无效.所以你可以做两件事:删除它们,或用等号替换它们.
将'+'替换为'{2,8]之类的东西可能会很好.这将限制在未编码的'&'出现时替换整个句子的机会.

2> andi..:

使用html_entity_decode转换HTML实体.

您需要设置charset才能使其正常工作.



3> 小智..:

除了上面的好答案,PHP还有一个非常有用的内置过滤器功能:filter-var.

要删除HMTL字符,请使用:

$cleanString = filter_var($dirtyString, FILTER_SANITIZE_STRING);

更多信息:

    function.filter-VAR

    FILTER_SANITIZE_STRING



4> 0xFF..:

您可能需要在这里查看htmlentities()和html_entity_decode()

$orig = "I'll \"walk\" the dog now";

$a = htmlentities($orig);

$b = html_entity_decode($a);

echo $a; // I'll "walk" the <b>dog</b> now

echo $b; // I'll "walk" the dog now

推荐阅读
mobiledu2402852413
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有