如何从PHP中的HTML标签的属性中删除标签?

发布时间:2022-04-30 发布网站:脚本宝典
脚本宝典收集整理的这篇文章主要介绍了如何从PHP中的HTML标签的属性中删除标签?脚本宝典觉得挺不错的,现在分享给大家,也给大家做个参考。
我用旧的CMS生成了大量的帖子.它是 HTML标记……几乎……我以前见过的更糟糕的事情.它包含这样的结构:

....<img alt="Хит сезона - <b>Лучшие фразы...</b>" src="http://www.example.COM/articles/pic.jpg" align=left>...

正如您所看到的那样,它不是HTML,因为它包含标记属性中的tegs.

我需要从HTML属性删除任何标记.

我试过通过DOMDocument使用解析,但它是cannot output cyrilic symbols correctly if headers body and html are not in parsed string.即使它确实我必须从输出删除它们.

问题是如何从@L_777_11@中的HTML标签属性删除标签

PReg_replace适合这个吗?

解决方法

你可以试试这个:

preg_replace('#<([^ ]+)((\s+[\w]+=((["\'])[^\5]+\5|[^ ]+))+)>#e','"<\\1" . str_replace("\\\'","\'",strip_tags("\\2")) . ">"',$code);

它需要每个html开始标记(< something>),匹配所有属性name =“value”name =’value’name = value然后它标记剥离它们. str_replace是必需的,因为当添加e修饰符时,PHP会在评估之前对每个匹配使用addslashes.

我测试了它,似乎工作正常.

本图文内容来网友网络收集整理提供,作为学习参考使用,版权属于原作者。

脚本宝典总结

以上是脚本宝典为你收集整理的如何从PHP中的HTML标签的属性中删除标签?全部内容,希望文章能够帮你解决如何从PHP中的HTML标签的属性中删除标签?所遇到的问题。

如果觉得脚本宝典网站内容还不错,欢迎将脚本宝典推荐好友。

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。