在正则表达式模式中编辑非常简单

时间:2011-04-03 21:38:55

标签: php regex

如何将此正则表达式转换为仅在src = * 中搜索,而不是所有以http开头并以jpg,png,gif结尾的链接?另外我想获得https图像。 谢谢!

preg_match('!http://.+\.(?:jpe?g|png|gif)!Ui' , $content , $matches);

2 个答案:

答案 0 :(得分:0)

您可以尝试这个,只捕获src标记并选择图像网址:

<img[^>]+src\s*=\s*['\"]([^'\"]+)['\"][^>]*>

答案 1 :(得分:0)

使用否定断言对正则表达式进行前缀以过滤掉常见的出现:

 (?<!src=["\']|src=)

“前缀”表示在!之后和https?://..

之前
preg_match('!(?<!src=["\']|src=)http://.+\.(?:jpe?g|png|gif)!Ui' , $content , $matches);