<div class="listing-img-container media-cover text-center">[\s\S]*?src="([^"]+?\.jpg)
试试这个。抓住捕获。查看演示。
不要使用正则表达式,使用 DOM 解析器,如 DOMDocument 和 DOMXpath。对于 Xpath 也可以看看这里。
现在将所有 HTML 放入
DOMDocument
中并使用 Xpath
: 进行搜索
$dom = new DOMDocument();
@$dom->loadHtml($html);
$xpath = new DOMXpath($dom);
$imageNodes = $xpath->query('//div[@class="listing-img-container media-cover text-center"]/img');
$src = $imageNodes->item(0)->getAttribute('src');
我关闭了
$dom->loadHtml()
的警告,因为有些警告是由于 HTML 不正确造成的,但这并不影响功能。
如果您不需要整个
src
,而只想要?
之前的部分,请添加
$explode = explode('?', $src, 2);
$src = $explode[0];