如何将此正则表达式转换为仅在src = * 中搜索,而不是所有以http开头并以jpg,png,gif结尾的链接?另外我想获得https图像。 谢谢!
preg_match('!http://.+\.(?:jpe?g|png|gif)!Ui' , $content , $matches);
答案 0 :(得分:0)
您可以尝试这个,只捕获src标记并选择图像网址:
<img[^>]+src\s*=\s*['\"]([^'\"]+)['\"][^>]*>
答案 1 :(得分:0)
使用否定断言对正则表达式进行前缀以过滤掉常见的出现:
(?<!src=["\']|src=)
“前缀”表示在!
之后和https?://..
preg_match('!(?<!src=["\']|src=)http://.+\.(?:jpe?g|png|gif)!Ui' , $content , $matches);