【发布时间】:2019-10-07 02:54:05
【问题描述】:
我正在使用以下代码在 URL 中查找带有 https 的 jpg 图像。
preg_match_all('#\bhttps://[^,\s()<>]+(?:\([\w\d]+\)|([^,[:punct:]\s]|/)).jpg#', $data, $images);
目前这会返回所有 jpg 图像 URL,但字符串中需要 https。
我想使用 //(双斜杠)而不是 https。
类似这样的东西;不过当然没那么简单哈哈
preg_match_all('#\b//[^,\s()<>]+(?:\([\w\d]+\)|([^,[:punct:]\s]|/)).jpg#', $data, $images);
任何帮助将不胜感激,谢谢!
【问题讨论】:
-
可能想去掉单词边界
\b但你可以将s设为可选'#\bhttp(s)?:// -
这里的问题是我正在抓取不使用 http 或 https 作为分隔符的数据,图像代码类似于 并不总是 cdn.example.com 所以需要定位 //
-
为什么不简单:
preg_match_all('#//\S+?\.jpg#', $data, $images);
标签: php regex preg-match preg-match-all