如何获取HTML网站内容并在PHP中操作其标签?

时间:2016-12-26 10:14:32

标签: php string foreach domdocument file-get-contents

我试图编写一个脚本来获取网站的HTML代码,并且必须计算特定<li><ul>个项目的数量。

<html>

<head>...</head>

<body>
    ...
    <ul class="the-list">
        ...
        <li>...</li>
        ...
    </ul>
    ...
</body>

</html>

所以我目前正在做的是通过file_get_contents()获取内容,但是我必须得到这个特定的<ul>并以某种方式解析并预告其<li>。这样做的最佳方法是什么?

由于

2 个答案:

答案 0 :(得分:0)

这可以做到 但<ul>标记必须具有以下php代码段的ID才能生效:

加载HTML然后引用目标ul,然后引用目标子标记<li>

像:

$dom = new DOMDocument;
$dom->loadHTML($HTML);
$allElements = $dom->getElementById('targetUlId')->getElementsByTagName('li');
echo $allElements->length;

这将回显目标ul

中li标签的数量

希望这有帮助

答案 1 :(得分:0)

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

foreach($html->find('li') as $element) 
       echo $element->plaintext. '<br>';

您也可以使用simplephpdom库

  

http://simplehtmldom.sourceforge.net/