我有很多网站地址都有我想要的图片。 我想知道该网站的图像来源。
下面是我的PHP代码。但这不起作用。
<?php
$html = array('url1', 'url2', ...);
$result = "";
preg_match_all('/<img[^>]+>/i', $html, $result);
echo $result;
?>
请你完成以上不完整的代码吗?
答案 0 :(得分:3)
最好使用DOMDocument
类,不要使用 Regex
作为解析HTML内容的解析器。
$htmlsourceofthewebsite = file_get_contents('http://www.somewebsite.com');
$dom = new DOMDocument;
$dom->loadHTML($htmlsourceofthewebsite);
foreach ($dom->getElementsByTagName('img') as $tag) {
echo $tag->getAttribute('src');
}
}
答案 1 :(得分:0)
您不应该使用正则表达式来解析html内容。使用DOMDocument。
试试这样:
$html=array('url1', 'url2', ........); // your url array
foeach($html as $a){ //run a loop through your array
getImage($a); // get images
}
function getImage($url){
$dom = new DOMDocument;
$dom->loadHTML($url);
foreach ($dom->getElementsByTagName('img') as $t) {
echo $t->getAttribute('src');
}
}
}