1

如何使用 php 函数从 img 标签获取图像源。

4

4 回答 4

8

或者,您可以使用内置的 DOM 函数(如果您使用 PHP 5+):

$doc = new DOMDocument();
$doc->loadHTMLFile($url);
$xpath = new DOMXpath($doc);
$imgs = $xpath->query("//img");
for ($i=0; $i < $imgs->length; $i++) {
    $img = $imgs->item($i);
    $src = $img->getAttribute("src");
    // do something with $src
}

这使您不必使用外部类。

于 2010-01-18T14:42:47.413 回答
5

考虑看看这个

我不确定这是否是解决问题的公认方法,但请查看以下代码片段:

// Create DOM from URL or file
$html = file_get_html('http://www.google.com/');

// Find all images 
foreach($html->find('img') as $element) 
       echo $element->src . '<br>';

// Find all links 
foreach($html->find('a') as $element) 
       echo $element->href . '<br>';
于 2010-01-18T09:38:23.023 回答
4

您可以使用 PHP Simple HTML DOM Parser ( http://simplehtmldom.sourceforge.net/ )

// Create DOM from URL or file

$html = file_get_html('http://www.google.com/');

// Find all images 

foreach($html->find('img') as $element) {
   echo $element->src.'<br>';
}

// Find all links 

foreach($html->find('a') as $element) {
   echo $element->href.'<br>';
}
于 2010-01-18T09:39:09.917 回答
1
$path1 = 'http://example.com/index.html';//path of the html page
$file = file_get_contents($path1);
$dom = new DOMDocument;

@$dom->loadHTML($file);
$links = $dom->getElementsByTagName('img');
foreach ($links as $link)
{    
    $re = $link->getAttribute('src');
    $a[] = $re;
}

输出

Array
(
    [0] => demo/banner_31.png
    [1] => demo/my_code.png
)
于 2013-10-28T11:48:05.943 回答