0

示例源 HTML:

<p>
 <strong>Byline:</strong> Introductory text. 

 <a href="1.html" target="">Link 1</a> |
 <span class="foo"></span> 
 <a href="2.html">Link 2</a>
 <a href="3.html">Link 3</a>
</p>

我正在尝试做的事情:

我想加载 HTML,去掉链接和其他无关标签(如果我必须指定它们是什么,这不是问题),比如“|” 依此类推,保留“署名”和“介绍性文字”。这是一个解析第 3 方站点的脚本,所以我无法添加 CSS 类等。

我第一次尝试使用(现在不是很广泛使用)PHP Simple HTML DOM Parser,最近一直在尝试DOMDocument

但是我绝对无处可去-例如,现在我什至无法遍历下面的树<p>

$doc = new DOMDocument();
$doc->loadHTML($somehtml);

$p = $doc->getElementsbyTagName('p');

foreach($p->childNodes as $item) {
  ...    
}

以上为我提供了该行的“未定义属性:DOMNodeList::$childNodes”错误foreach

另外:我很沮丧,因为我显然无法使用 等来可视化 DOM print_rvar_dump而且当我使用循环浏览链接时xpath->query(这在这里似乎不合适,因为我真的不想搜索/提取特定的东西,而是使用 HTML,删除我不想要的节点,然后保存它)使用 print_r 向我显示了链接文本,但没有显示 href="" 的内容。

任何人都可以推荐一个可以理解的 DOMDocument 指南吗?PHP 手册在实际示例方面似乎很短。

4

0 回答 0