preg_replace html 标签
我想删除字符串上的所有 html 标签(包括它们的属性,如 class、src、id 等),但我想保留
;
和
标签。我将如何实现这一目标?
、
任何建议将不胜感激。
谢谢!
I would like to delete all html tags (including their attributes such as class, src, id, etc.) on a string but I would like to retain <ul>
,<li>
and <br />
tags. How will I accomplish this?
Any suggestion would be greatly appreciated.
Thanks!
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(4)
使用
strip_tags()
并传入允许的标签。无需重新发明轮子。此方法存在一些安全问题,可能会阻止您使用它。如果是这种情况,请考虑@Denis 的回答。Use
strip_tags()
and pass in allowable tags. No need to re-invent the wheel. There are some security concerns with this method which might prevent you from using it. Please consider @Denis' answer if this is the case.您可以使用诸如 html purifier 之类的库:
http://htmlpurifier.org/
小心使用 strip_tags()带参数:
strip_tags() 是否容易受到脚本攻击?
http://htmlpurifier.org/comparison
You can use a library such as html purifier:
http://htmlpurifier.org/
Be wary of using strip_tags() with an argument:
Is strip_tags() vulnerable to scripting attacks?
http://htmlpurifier.org/comparison
http://us.php.net/manual/en/function.strip -tags.php
strip_tags($text, '
http://us.php.net/manual/en/function.strip-tags.php
strip_tags($text, '<ul><li><br>');
好了,兄弟,
不要使用 preg_replace,它会消耗大量内存。
There you go, bro
Do not use preg_replace, it cost u lot memory.