gpt4 book ai didi

PHP Simple Dom - 在类似于 + CSS 选择器的元素后立即获取元素

转载 作者:行者123 更新时间:2023-11-28 03:16:36 26 4
gpt4 key购买 nike

我想从具有这种结构的 HTML 中提取数据:

<html>
<body>
<table>
<tr>
<td>
<table>
<tr>
<td>
<table>
<tr>
<td>
<table>
<tr>
<td>TD1
<table>
<tr>
<td>TD2
<table>
<tr>
<td>TD3</td>
</tr>
</table>
</td>
</tr>
</table>
</td>
</tr>
</table>
</td>
</tr>
</table>
</td>
</tr>
</table>
</td>
</tr>
</table>
</body>

我想得到一次这个文本结果:

TD1TD2TD3

当我尝试使用 simple php dom

foreach($html->find('body + table + table + table + table') as $element) 
echo $element->innertext . '<br>';

我得到这个结果:

TD1TD2TD3

TD2TD3

TD3

似乎 php Dom 库不能与 + css 选择器一起工作,所以它多次找到元素“body + table + table + table + table”,而不仅仅是直接的一个 body > table > table > table > 表。

我怎样才能只获得一次外部标签,所以结果会是TD1TD2TD3?在一个页面的 HTML 中,同一页面中有多次这种结构,所以我正在寻找类似于 + CSS 选择器的东西来获取页面中此元素 body + table + table + table + table 的所有出现。

最佳答案

你可以试试 Symfony 的 DomCrawler component .这是filter()方法接受 CSS 选择器(有一些小的异常(exception),请参阅 here。)

关于PHP Simple Dom - 在类似于 + CSS 选择器的元素后立即获取元素,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45446471/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com