通过使用PHP,我想在图像URL中获取所有href和src,其中每个img src将为每个href分配如下:
<a href="http://example.com/src/abc.png"><img src="http://example.com/res/bca.png"></a>
这是我已经创建的代码。
$dom = new domDocument;
$dom->loadHTML($html);
$dom->preserveWhiteSpace = false;
$links = $dom->getElementsByTagName('a');
$images = $dom->getElementsByTagName('img');
$tags_links = array();
$tags_img = array();
foreach ($links as $link)
{
$tags_links [] = $link->getAttribute('href');
}
foreach ($images as $image)
{
$tags_img [] = $image->getAttribute('src');
echo "<a href =\"".$url .$link->getAttribute('href')."\"><img src=\"".$url.$image->getAttribute('src')."\">";
}
但我得到的是每个img src的最后一个html分配
<a href ="http:../port287.html"><img src=../port2.png">
有关如何分配
的任何建议<a href ="http:../port2.html"><img src=../port2.png">
<a href ="http:../port3.html"><img src=../port3.png">
答案 0 :(得分:0)
如果我正确理解了这个问题......并且可以安全地假设您加载的$ html与a
代码和img
代码的关系为1比1。这对你来说可能更好:
for ($n=0; $n < $links->length; $n++)
{
$href = $links->item($n)->getAttribute('href');
$src = $images->item($n)->getAttribute('src');
echo '<a href="'. $url . $href .'"><img src="'. $url . $src .'"></a>';
}
这仅适用于a
代码和img
代码相关的情况。否则,您需要做一些工作才能将href
与哪个src
相关联。