我有一个没有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并做了一些事情。可以有任意数量的链接和任意数量的标题。
任何人都有任何提示或可能是如何做到这一点的例子?
答案 0 :(得分:0)
在我的情况下,我总是知道标题是什么,并且它们与标题文本相同的可能性非常小,所以我能够使用这个
$xPath->query("//a | //h1");
获取所有和元素,然后在检测到新标题时使用if语句更改mysql插入查询。