从空值创建默认 object - 简单 HTML DOM
Creating default object from empty value - Simple HTML DOM
好的,所以这个文件的目标是从一些 xml 提要中读取标题,并修改我在本地的文件。我已经让简单的 xml 工作了,但是当我添加简单的 html dom 时,一切都变糟了。当我 运行 文件时,我不断得到:
Creating default object from empty value
我看过其他似乎对其他人有效的堆栈溢出解决方案,例如使用:
$title = new stdClass;
所以我不太确定是什么问题。提前感谢您的帮助。
require("simple_html_dom.php");
$html = file_get_html('../index.html');
$xml = simplexml_load_file("https://www.figurescreed.moe/feed/") or
die("Error: Cannot create object");;
for ($x = 0; $x < 3; $x++) {
$title = new stdClass;
$element = new stdClass;
$title = $xml->channel->item[$x]->title;
$element = $html->find('div[id=title]');
$element[$x]->innertext = $title;
echo $html;
}
?>
尝试检查 $element 是否为数组,此行之后至少有 3 个元素:
$element = $html->find('div[id=title]');
你可以用
检查一下
echo '<pre>' . htmlspecialchars (print_r ($element, true)) . '</pre>';
或者如果你是 运行 它来自命令行:
echo print_r ($element, true);
如果其中没有 3 个元素,您可能会在这一行遇到错误:
$element[$x]->innertext = $title;
因为$element[$x]引用了一个不存在的数组元素
您的 html 文件中可能没有 3 项匹配 div[id=title]
这两行是不必要的,因为你之后会立即覆盖它们:
$title = new stdClass;
$element = new stdClass;
好的,所以这个文件的目标是从一些 xml 提要中读取标题,并修改我在本地的文件。我已经让简单的 xml 工作了,但是当我添加简单的 html dom 时,一切都变糟了。当我 运行 文件时,我不断得到:
Creating default object from empty value
我看过其他似乎对其他人有效的堆栈溢出解决方案,例如使用:
$title = new stdClass;
所以我不太确定是什么问题。提前感谢您的帮助。
require("simple_html_dom.php");
$html = file_get_html('../index.html');
$xml = simplexml_load_file("https://www.figurescreed.moe/feed/") or
die("Error: Cannot create object");;
for ($x = 0; $x < 3; $x++) {
$title = new stdClass;
$element = new stdClass;
$title = $xml->channel->item[$x]->title;
$element = $html->find('div[id=title]');
$element[$x]->innertext = $title;
echo $html;
}
?>
尝试检查 $element 是否为数组,此行之后至少有 3 个元素:
$element = $html->find('div[id=title]');
你可以用
检查一下echo '<pre>' . htmlspecialchars (print_r ($element, true)) . '</pre>';
或者如果你是 运行 它来自命令行:
echo print_r ($element, true);
如果其中没有 3 个元素,您可能会在这一行遇到错误:
$element[$x]->innertext = $title;
因为$element[$x]引用了一个不存在的数组元素
您的 html 文件中可能没有 3 项匹配 div[id=title]
这两行是不必要的,因为你之后会立即覆盖它们:
$title = new stdClass;
$element = new stdClass;