PHP简单的HTML解析器将div作为数组返回

时间:2017-04-17 22:24:47

标签: php parsing web-scraping simple-html-dom

我正在使用PHP和简单的HTML DOM Parser尝试从网站上获取歌词。歌词以“歌词”类的形式存放在div中。这是我用来尝试抓取div并显示它的代码。目前它只返回“数组”到我的网页上。当我jsonify数组时,我可以看到数组是空的。

<?php
include('simple_html_dom.php');
$data = file_get_contents("https://example.com/songlyrics");
$html = str_get_html($data);
$lyr = $html->find('div.lyrics');
echo $lyr;
?>

我知道Simple HTML Dom Parser正确包含在内,当我通过对代码进行一些小的更改来回显$ html时,我显示完整的网页没有问题,但是我似乎无法回应这个div。我的代码有问题吗?为什么$ lyr返回一个数组?

1 个答案:

答案 0 :(得分:1)

您的代码没有任何问题。

  

为什么$ lyr返回一个数组?

这是因为一个类被认为是多次使用。如果你var_dump($lyr),你应该看到所有带有该类名的div元素。

您可以echo $lyr[0]$html->find('div.lyrics',0)选择特定的div元素。