SimpleHTMLDom:调用数组上的成员函数 find()
SimpleHTMLDom: Call to a member function find() on array
所以我想在大 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 "<img src='" . $element->src . "'/>" . '<br>';
}
我收到这个错误
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 . '<br>';
然后就可以了!
所以当我那样做时它似乎有效
foreach($html->find('div') as $element)
{
if($element->id == 'page-body')
{
echo $element->id;
echo "EXIST <br>";
}
// echo "<img src='" . $element->src . "'/>" . '<br>';
}
但我不想只使用 foreach 搜索我的 html,是否有另一种方法可以让我到达我的位置然后循环(我必须在[中循环 tr ] =36=] )
$test = $html->find('#page-body');
现在$test
是一个数组
$test = $html->find('#page-body', 0);
现在$test
是一个元素
foreach($test->find('img') as $element)
{
echo "<img src='" . $element->src . "'/>" . '<br>';
}
现在可以了。您也可以简化为:
foreach($test->find('#page-body img') as $element)
{
echo "<img src='" . $element->src . "'/>" . '<br>';
}
所以我想在大 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 "<img src='" . $element->src . "'/>" . '<br>';
}
我收到这个错误
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 . '<br>';
然后就可以了!
所以当我那样做时它似乎有效
foreach($html->find('div') as $element)
{
if($element->id == 'page-body')
{
echo $element->id;
echo "EXIST <br>";
}
// echo "<img src='" . $element->src . "'/>" . '<br>';
}
但我不想只使用 foreach 搜索我的 html,是否有另一种方法可以让我到达我的位置然后循环(我必须在[中循环 tr ] =36=] )
$test = $html->find('#page-body');
现在$test
是一个数组
$test = $html->find('#page-body', 0);
现在$test
是一个元素
foreach($test->find('img') as $element)
{
echo "<img src='" . $element->src . "'/>" . '<br>';
}
现在可以了。您也可以简化为:
foreach($test->find('#page-body img') as $element)
{
echo "<img src='" . $element->src . "'/>" . '<br>';
}