使用php简单dom订购页面内容

时间:2014-04-21 07:55:52

标签: php dom simple-html-dom

我尝试了很多方法来解决这个问题,不确定是否可以完成。我需要刮一个给定的html页面刮取链接,所以我需要做的是按照它们出现的顺序订购我的所有链接,所以如果我找到一个h2链接我应该能够继续获取它之前的所有其他相关链接继续下一个标题,给定一些标题将有儿童图像阅读更多链接或评论和/或与该故事相关的其他链接(想想新闻网站)。 作为一个例子

我的标题2

一些文字

readmore

一张图片 这个故事的相关链接

我的下一个标题等

我试过以下

$headings = $html->find('h2 a')//this is in a bigger loop for all other headings but just as an example
foreach($heading as $h){
   echo $h->href; //and what ever else i need, plaintext etc
}

这种方法的问题在于我无法找到此标题的相关链接。

我可以搜索我已经完成但却失败的兄弟姐妹

我已经尝试获取所有链接并找到父母以查看它是否是标题,如果是这样,将其存储在其他地方但仍然存在同样的问题。

有谁知道如何解决这个问题。我不知道我将给出哪个页面,但我认为可以搜索dom直到我遇到标题,然后继续前进,直到我找到下一个标题,但我似乎无法通过逻辑

任何想法都会非常感激

提前感谢任何帮助

1 个答案:

答案 0 :(得分:0)

如果有一个包装h2和链接的容器,您可以迭代这些容器并搜索每个容器内的h2和链接。

我想没有这样的容器。 另一种方法是获取整个html字符串,将其拆分为"