0

我有一个没有 id 或类的 html 网站,只有一些像这样的链接和标题

<h1>Link category 1</h1>
<a href="somesite">Somename 1</a>
<a href="somesite">Somename 2</a>
<a href="somesite">Somename 3</a>
<a href="somesite">Somename 4</a>
<h1>Link category 2</h1>
<a href="somesite">Somename 5</a>
<a href="somesite">Somename 6</a>
<a href="somesite">Somename 7</a>
<a href="somesite">Somename 8</a>

等等

目前我正在使用此代码解析页面上的所有链接

$dom = new DOMDocument();
@$dom->loadHTML($content);
$xPath = new DOMXPath($dom);
$elements = $xPath->query("//a");

有了它,我可以从所有链接中获取文本,但我想要做的是将它分开,以便我首先获取第一个 h1 之后的所有链接并用它做一些事情,然后我得到第二个 h1 之后的所有链接并用它做点什么。可以有任意数量的链接和任意数量的标题。

任何人都有任何提示或可能的示例来说明如何执行此操作?

4

1 回答 1

0

就我而言,我总是知道标题是什么,而且它们与标题文本相同的可能性很小,所以我能够使用它

$xPath->query("//a | //h1");

获取所有和元素,然后在检测到新标题时使用 if 语句更改 mysql 插入查询。

于 2012-11-23T16:54:08.093 回答