我有几个页面,我从中获取HTML。 $ html是每页都有html的对象。我现在从页面获取图像,有些页面有一个图像,有些页面没有任何图像。如果页面没有图像,我想在数组中放置一个值,如empty
。所以我需要类似if($html->find('img')==null)
的内容,但我无法找到simple_html_dom
的解决方案。有任何想法或其他方式吗?
//using simple_html_dom
public function GetImages($dataArray) {
$url = 'http://page/';
foreach ($dataArray as $link) {
$html = file_get_html($url . $link);
if(is_object($html)){
foreach ($html->find('img') as $image) {
$images[] = $image->src;
}
}
}
return $images;
}
答案 0 :(得分:0)
我不完全理解你的问题,但如果你拉一页你可以使用
if( isset($html->find("img")) )
检查属性是否已设置。
// If page has any images you will add their src path to images array
if( isset($html->find("img")) )
{
for($html->find('img') as $image) {
if(isset($image))
{
$images[] = $image->src;
} else {
$images[] = 'Empty';
}
}
}
最好使用if(isset($image->src))
,如果你可以重写你的问题就能更好地帮助。
答案 1 :(得分:0)
simple_html_dom开发停止YEARS AGO ..使用积极开发的DOMDocument(http://php.net/manual/en/class.domdocument.php),而不是simple_html_dom ...无论如何
if(count($html->find('img'))==0){$noImages=true;};
(在DOMDocument中,你使用$ domd-> getElementsByTagName(“img”),就像在javascript webdev中一样)