html获取表格内容到php,使用PHP Simple HTML DOM Parser查找表格单元格并获取下一个兄弟的内容...

我正在尝试使用PHP Simple HTML DOM Parser来获取外部文件的HTML.该文件包含一个表,目标是找到具有特定数据内容的能力单元格,然后获取下一个兄弟单元格的数据.这些数据需要放在PHP变量中.

表格行如下所示:

fluffirrelevantetc Hello world123.456fluffirrelevantetc

我想要完成的是找到包含“Hello world”的表格单元格,然后从下一个td单元格中获取数字.下面的代码找到了表格单元格并回显了它的内容,但我尝试将它用作地标以获取下一个单元格的数据失败了……

$html = file_get_html("http://site.com/stuff.htm");

$e = $html->find('td',0)->innertext = 'Hello world';

echo $e;

所以最终,在上面的例子中,123.456的值需要以某种方式进入PHP变量.

谢谢你的帮助!

解决方法:

它可以使用DOMXPath类完成.您不需要外部库.

这是一个例子:

$html = <<fluffirrelevantetcHello world123.456fluffirrelevantetc

EOF;

// create empty document

$document = new DOMDocument();

// load html

$document->loadHTML($html);

// create xpath selector

$selector = new DOMXPath($document);

// selects the parent node of nodes

// which's content is 'Hello world'

$results = $selector->query('//td/a[text()="Hello world"]/..');

// output the results

foreach($results as $node) {

echo $node->nodeValue . PHP_EOL;

}

标签:php,dom,html-parsing

来源: https://codeday.me/bug/20190517/1122714.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值