PREG_MATCH问题

时间:2011-07-30 21:36:30

标签: php regex preg-match

preg_match("/<img onClick='this\.style\.maxWidth=\"490px\"; this\.style\.maxHeight=\"490px\";
this\.style\.cursor=\"default\";' style='cursor: pointer; display: block; float: left; max-width: 
490px; max-height: 160px;' src='(.)+'><br style='clear: left;'>/",$CONTENT,$MATCHES);
print_r($MATCHES);

为什么这不能获得图像源?

2 个答案:

答案 0 :(得分:4)

考虑撰写src='(.+)'而不是src='(.)+'

答案 1 :(得分:2)

你可以跳过很多东西,然后说

preg_match("/<img.*?src='([^']*)'/i", $content, $matches);

$matches[1]将是src网址

(在评论失控之前:这是基于问题中的原始模式。它不匹配双引号属性,因为原始模式也没有。而且它也不是一般解决方案。它会寻找一个格式良好的img标签,就是这样)


除此之外:

  • 内联CSS?!
  • 内联事件处理程序?!
  • 围绕属性的单引号哎呀!那个错了!道歉

这些都不好!