如何使用simpleHTMLdom通过它包含的内容查找HTML元素?

时间:2016-03-30 10:39:05

标签: html-parsing simple-html-dom

我需要做的是使用许多标签解析html而不使用idclass,并且我要解析的网站包含分页。

这是我想要获得的HTML部分的一个例子:

<tr>
    <th> number of pages </th>
    <td>
        <p> 160 </p> <==== just need the 160
    </td>
</tr>

首先,我使用foreach($html->find('tr', 4)->find('td p') as $bookPages)

但是我有错误,因为:对于第1页,<tr>位于第4位,所以我得到了一个好结果,但在其他页面中,它位于第3位或5位(对于第1位)例如)因为我可以看到网页上的页面之间缺少一些信息,我正在解析。

任何方式执行以下操作:

foreach($html_book_page->find('th["the content of the th tag : number of pages"]') as $bookPages)

如果没有id或类,如何根据HTML元素的内容搜索HTML元素并获取下一个标记(在我的情况下为td p)?

谢谢大家。

1 个答案:

答案 0 :(得分:0)

for(i = 0; i<$data.find('tr').length; i++){

            info[i]=($($data).find('td').eq(i).find('p').text()).replace(/\n\r/g, '').trim();


        }

尝试创建一个数组。输出应该是<p>标签中的文本...即160