preg_replace html 标签

发布于 2024-11-06 21:07:42 字数 198 浏览 3 评论 0原文

我想删除字符串上的所有 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 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(4

娇妻 2024-11-13 21:07:42

使用 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.

皇甫轩 2024-11-13 21:07:42

您可以使用诸如 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

凡尘雨 2024-11-13 21:07:42

好了,兄弟,

http://us.php.net/manual/en/function.strip-tags.php

$text = strip_tags($text, '<ul><li><br>');

不要使用 preg_replace,它会消耗大量内存。

There you go, bro

http://us.php.net/manual/en/function.strip-tags.php

$text = strip_tags($text, '<ul><li><br>');

Do not use preg_replace, it cost u lot memory.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文