【问题标题】:Parsing text from out HTML website in PHP用PHP从HTML网站解析文本
【发布时间】:2016-07-13 21:15:24
【问题描述】:

我是 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()。有人知道如何解决这个问题吗?

【问题讨论】:

标签: php html parsing


【解决方案1】:

使用 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

【讨论】:

    【解决方案2】:

    使用 strip_tags — 从字符串中去除 HTML 和 PHP 标记

    $myCleanText = strip_tags ($YOUR_HTML));
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2012-02-12
      • 2022-10-20
      • 1970-01-01
      • 2023-03-03
      • 2012-02-22
      • 1970-01-01
      相关资源
      最近更新 更多