登录
首页 >  文章 >  php教程

PHP正则表达式如何提取HTML标签指定属性并忽略其他属性?

时间:2024-12-09 09:57:51 160浏览 收藏

学习文章要努力,但是不要急!今天的这篇文章《PHP正则表达式如何提取HTML标签指定属性并忽略其他属性?》将会介绍到等等知识点,如果你想深入学习文章,可以关注我!我会持续更新相关文章的,希望对大家都能有所帮助!

PHP正则表达式如何提取HTML标签指定属性并忽略其他属性?

php正则表达式过滤html标签属性

问题提出:

求教如何在 php 中使用正则表达式提取 html 标签的指定属性,例如 style、class、href、target、alt,而忽略其他属性。

解决方案:

可以使用以下正则表达式匹配事件处理程序属性(例如 onload="asdasdas()"):

/on.*?=/

然后使用 preg_replace() 函数替换匹配项:

$re = '/\bon\w+=([\'"]).*?\1/m';

其中:

  • /m 修饰符允许正则表达式匹配多行文本。
  • 1 引用项用于匹配开头引号和结尾引号之间捕获的内容。

代码示例:

$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;

理论要掌握,实操不能落!以上关于《PHP正则表达式如何提取HTML标签指定属性并忽略其他属性?》的详细介绍,大家都掌握了吧!如果想要继续提升自己的能力,那么就来关注golang学习网公众号吧!

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