【发布时间】:2020-11-22 02:54:01
【问题描述】:
我有这个 HTML 页面,我想提取其标签之间的数据。
<div>
<h2>Google</h2>
<a href="google.com/about">Google is search engine</a>
<a href="google.com">www.google.com</a>
</div>
<div>
<h2>Amazon</h2>
<a href="amazon.com/about">Amazon is shopping cart</a>
<a href="amazon.com">www.amazon.com</a>
</div>
<div>
<h2>Yahoo</h2>
<a href="yahoo.com/about">Yahoo is websites directory</a>
<a href="yahoo.com">www.yahoo.com</a>
</div>
我想使用这个纯 PHP 代码:
<?php
$html = file_get_contents("demo.html");
$dom->loadHTML($html);
$nodes = $dom->getElementsByTagName('a');
$nodes = $dom->getElementsByTagName('h2');
foreach ($nodes as $node) {
echo $node->nodeValue."<br>";
} ?>
如何提取数据是这样的:
Google Google is search engine www.google.com
Amazon Amazon is shopping cart www.yahoo.com
Yahoo Yahho is websites directory www.yahoo.com
谢谢。
【问题讨论】:
-
HTML 是否只包含
<div>元素,如果可能的话从那里开始会更容易。 -
@rootkonda 没有 Div ID 或 Class,只是 TagName 重复了一个。
标签: php html regex dom extract