php中find的函数_PHP-SimpleHTMLDom:调用数组中的成员函数find()

本文探讨了如何在PHP中使用Simple HTML DOM库遍历大型HTML页面,解决在#page-body区域内的图片和表格问题,重点在于避免仅使用foreach限制,并展示了多种方法来访问表格元素。
摘要由CSDN通过智能技术生成

所以我想在大型html页面中循环通过特定的TD.我正在使用simplehtmldom来实现这一目标.问题是,如果不将所有步骤都放在foreach中,我将无法使其工作.

这是我的PHP

include('../inc/simple_html_dom.php');

$html = file_get_html("http://www.bjork-family.com/f43-london-stories");

// I just put the dom of pagebody into TEST

$test = $html->find('#page-body');

foreach($test->find('img') as $element)

{

echo "%22%20.%20%24element->src%20.%20%22" . '
';

}

我得到这个错误

Fatal error: Call to a member function find() on array in /mywebsite.php on line 39

39行就是这个

foreach($test->find('img') as $element)

我尝试了很多不同的方法,如果我真的很简单的话:

// Create DOM from URL or file

$html = file_get_html('http://www.bjork-family.com/f43-london-stories');

foreach($html->find('img') as $element)

echo $element->src . '
';

然后就可以了!

所以当我这样走时似乎正在工作

foreach($html->find('div') as $element)

{

if($element->id == 'page-body')

{

echo $element->id;

echo "EXIST
";

}

// echo "%22%20.%20%24element->src%20.%20%22" . '
';

}

但是我不想只使用foreach来搜索我的html,还有另一种方法可以到达我的位置然后循环(我必须在表格中循环通过tr)

解决方法:

$test = $html->find('#page-body');

现在$test是一个数组

$test = $html->find('#page-body', 0);

现在$test是一个元素

foreach($test->find('img') as $element)

{

echo "%22%20.%20%24element->src%20.%20%22" . '
';

}

现在可以使用.您还可以简化:

foreach($test->find('#page-body img') as $element)

{

echo "%22%20.%20%24element->src%20.%20%22" . '
';

}

标签:simple-html-dom,php

来源: https://codeday.me/bug/20191025/1930949.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值