登录
首页 >  文章 >  php教程

如何用正则表达式高效地去除HTML标签中特定属性?

时间:2024-12-02 18:28:01 437浏览 收藏

哈喽!今天心血来潮给大家带来了《如何用正则表达式高效地去除HTML标签中特定属性?》,想必大家应该对文章都不陌生吧,那么阅读本文就都不会很困难,以下内容主要涉及到,若是你正在学习文章,千万别错过这篇文章~希望能帮助到你!

如何用正则表达式高效地去除HTML标签中特定属性?

正则表达式提取html标签属性

您提到正则表达式代码不能达到预期效果,具体问题在于未能过滤掉不需要的属性。下面提供一个修改后的代码,可以完成您所描述的任务:

$re = '/\bon\w+=([\'"]).*?\1/m';
$str = '<strong style="white-space: normal;" class="123" onload="asdasdas()">&nbsp</strong><div class="ccc">aaaaa</div>
<p style="white-space: normal;">bbbbb</p>
<strong class="123" style="white-space: normal;" onload="asdasdas()">12313123&nbsp</strong>
<strong onload=\'asdasdas()\' >eeeeee&nbsp</strong><a href="http://www.xxx.com" target="_blank" class="aaaa">链接链接</a><p>ffff</p>';
$subst = '';

$result = preg_replace($re, $subst, $str);

echo "替换的结果是 ".$result;

此代码将匹配所有以"on"开头的属性,并删除其值。也可以通过修改正则表达式来匹配其他不需要的属性。

匹配详情

点按此链接查看此正则表达式的匹配项:https://hiregex.com/r/hxner1/1

今天关于《如何用正则表达式高效地去除HTML标签中特定属性?》的内容介绍就到此结束,如果有什么疑问或者建议,可以在golang学习网公众号下多多回复交流;文中若有不正之处,也希望回复留言以告知!

相关阅读
更多>
最新阅读
更多>
课程推荐
更多>