Php 在链接中获取img src

Php 在链接中获取img src,php,html,Php,Html,我在检索作为链接一部分的图像的src时遇到问题。举个例子,我想在标记之间检索img的src。 我将需要这样做的一对夫妇的网页上的链接,所有的布局相同。所以到目前为止我尝试的是: $dom = new DOMDocument; @$dom->loadHTML($html); $i = 0; $links = $dom->getElementsByTagName('a'); //Get images foreach ($links as $l

我在检索作为链接一部分的图像的src时遇到问题。举个例子,我想在标记之间检索img的src。
我将需要这样做的一对夫妇的网页上的链接,所有的布局相同。所以到目前为止我尝试的是:

    $dom = new DOMDocument;

    @$dom->loadHTML($html);

    $i = 0;
    $links = $dom->getElementsByTagName('a');
    //Get images
foreach ($links as $link){
    $test = $link->getAttribute('href');
    if (strpos($test,'/video') !== false) { 
        $XV_IMG[$i] = $link->nodeValue;
        $i++;
    }
}

如果链接不包含一个img标签,而是纯文本,它就可以正常工作。有什么方法可以获取src吗?

只需像这样在节点上继续使用getElementsByTagName即可

foreach ($link->getElementsByTagName('img') as $img) {
  $XV_IMG[] = $img->getAttribute('src');
}

尝试使用preg_match_all

$html=  '<a href="/video1234/the_vid"><img src="http://example.com/picture1234.jpg" id="pic_1234" /></a>
<a href="/video1224/the_vid"><img src="http://example.com/picture1224.jpg" id="pic_1224" /></a>
<a href="/video1434/the_vid"><img src="http://example.com/picture1434.jpg" id="pic_1434" /></a>
<a href="/video1554/the_vid"><img src="http://example.com/picture1554.jpg" id="pic_1554" /></a>
<a href="/video1334/the_vid"><img src="http://example.com/picture1334.jpg" id="pic_1334" /></a>';

preg_match_all('/<a href="(.*)"><img src="(.*)" id="pic_[0-9]{1,7}" \/><\/a>/i',$html,$out);
unset($out[0]);
unset($out[1]);
print_r($out);
$html='1!'
';
preg_match_all('//i',$html,$out);
未设置($out[0]);
未结算($out[1]);
打印(输出);

您希望如何
检索标签之间img的src
?在警报中发送它还是什么?只是存储src,在本例中它将位于数组$XV_IMG[$i]
src
中是一个属性。只需按照您使用
href
所做的操作来获取它。网站上还有很多图片,我只需要从这些链接中检索图片的来源