正则表达式匹配HTML标签

mrzhangs 2011-04-13 08:32:12
我的问题是现在需要使用正则表达式匹配名为iframe的html标签,但是并非所有的标签都要匹配,在匹配时不要匹配src属性包含"swf"字符串的标签,例如

我有html标签:
<iframe src="http:/www.google.com/"></iframe>
<iframe src="http:/www.google.com/2.html"></iframe>
<iframe src="http:/www.google.com/1.swf"></iframe>

如何通过正则表达式找出:
<iframe src="http:/www.google.com/"></iframe>
<iframe src="http:/www.google.com/2.html"></iframe>


但是不要匹配:
<iframe src="http:/www.google.com/1.swf"></iframe>

非常感谢!
...全文
189 2 打赏 收藏 转发到动态 举报
写回复
用AI写文章
2 条回复
切换为时间正序
请发表友善的回复…
发表回复
lazyboy_wu 2011-04-14
  • 打赏
  • 举报
回复
<?php
$html = <<<HTML
<iframe src="http:/www.google.com/"></iframe>
<iframe src="http:/www.google.com/2.html"></iframe>
<iframe src="http:/www.google.com/1.swf"></iframe>
HTML;
$reg = '/<iframe[^>]*?src="[^"]*?\.(?!swf)[^\."]*"[^>]*><\/iframe>/i';

preg_match_all($reg, $html, $matches);
var_dump($matches);
mrzhangs 2011-04-14
  • 打赏
  • 举报
回复
谢谢您的详细解答!受教了

21,886

社区成员

发帖
与我相关
我的任务
社区描述
从PHP安装配置,PHP入门,PHP基础到PHP应用
社区管理员
  • 基础编程社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧