【问题标题】:php - parse html pagephp - 解析 html 页面
【发布时间】:2010-09-12 22:33:24
【问题描述】:
<div>divbox</div>
<p>para1</p>
<p>para2</p>
<p>para3</p>
<table class="table"><tr><td></td></tr></table>
<p>para4</p>
<p>para5</p>

谁能告诉我如何解析这个 html 页面以仅显示 para1、para2 和 para3?并删除其他所有内容。

条件:
我想获取从第一个 &lt;p&gt; 到第一个 &lt;table class="table"&gt;所有内容

(第一个表将始终具有“表”类)

输出:

<p>para1</p>
<p>para2</p>
<p>para3</p>

【问题讨论】:

标签: php html parsing


【解决方案1】:
$d = new domdocument();
libxml_use_internal_errors(true);
$d->loadHTML($file);

foreach ($d->getElementsByTagName("*") as $el) {
    if ($el->tagName == "p")
        echo $el->textContent, "\n";
    elseif ($el->tagName == "table")
        break;
}

这个gives

第 1 段 第 2 段 第 3 段

【讨论】:

    猜你喜欢
    • 2011-07-30
    • 2014-01-08
    • 2012-01-06
    • 1970-01-01
    • 1970-01-01
    • 2011-09-12
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多