正则表达式从HTML获取IMG SRC

问题描述 投票:0回答:2
php html regex html-parsing text-extraction
2个回答
1
投票
<div class="listing-img-container media-cover text-center">[\s\S]*?src="([^"]+?\.jpg)

试试这个。抓住捕获。查看演示。


0
投票

不要使用正则表达式,使用 DOM 解析器,如 DOMDocumentDOMXpath。对于 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];
© www.soinside.com 2019 - 2024. All rights reserved.