如何在给定 url 的情况下从图像中获取超链接

How to get the hyperlink from an image when given its url

我想知道如果给出图像 url 是否可以获得图像的超链接,例如:我有一个网页说 (http://www.example.com) 有图像 例如:

<a href="http://example.com/12344/623/2"><img id="img" src="http://example.com/623/5602225.jpg" alt="The Image" name="img" height="1140" width="800"></a>

我在想是否可以得到这个

http://example.com/12344/623/2

当我给

http://example.com/623/5602225.jpg

作为 php 和 CURL 的输入?

是的,您需要解析 html。

因为您标记了 SimpleHtmlDom:

include "simple_html_dom.php";
//example html
$html = '<a href="http://example.com/12344/623/1"><img id="img" src="http://example.com/623/5602224.jpg" alt="The Image" name="img" height="1140" width="800"></a>';
$html .= '<a href="http://example.com/12344/623/2"><img id="img" src="http://example.com/623/5602225.jpg" alt="The Image" name="img" height="1140" width="800"></a>';
$html .= '<a href="http://example.com/12344/623/3"><img id="img" src="http://example.com/623/5602226.jpg" alt="The Image" name="img" height="1140" width="800"></a>';

//the image url to search for
$img = 'http://example.com/623/5602225.jpg';

//Note if you want to get the html from a url and not a string,
// use $som = file_get_html('http://www.example.com/');
$dom = str_get_html($html);
$url = $dom->find('img[src='.$img.']', 0)->parent->href;
//$url equals http://example.com/12344/623/2