在PHP中解析HTML网站中的文本

时间:2016-07-13 11:51:32

标签: php html parsing

我是PHP新手,想做一个小脚本。 我需要从ex解析信息。 http://sample.com/value.php 这是html:

   <ul>
  <li>Value: 100<ul>
   <li>Note: abcd </li>
  </li>
</ul>
<ul>
  <li>Note: adad<ul>
   <li>Note: qweqw </li>
  </li>
</ul>
<ul>
<ul>
  <li>Value: 200<ul>
   <li>Note: abcd </li>
  </li>
</ul>
<ul>

但是在我的脚本中,我只需要解析有价值的信息(价值:100,价值:200)网站获得了大量200-300行的代码。 ul和li没有任何课程,所以我不能使用getElementsByTagName()。有谁知道如何解决这个问题?

2 个答案:

答案 0 :(得分:0)

使用DOMXpath解析html:

$doc = new DOMDocument();
$doc->loadHTML($YOUR_HTML);
$xpath = new DOMXpath($doc);
$lis = $xpath->query("//li/text()");
if (!is_null($lis)) {
    foreach ($lis as $li) {
        if (preg_match('~^Value: (.+?)$~', $li->nodeValue, $m)) {
            print_r($m);
        }
    }
}

demo

答案 1 :(得分:0)

使用strip_tags - 从字符串中删除HTML和PHP标记

$myCleanText = strip_tags ($YOUR_HTML));