0

我有以下模板文件,名为“test.html”

<div class='title'>TEST</div>

我有以下 PHP 代码:

<?
include "simplehtmldom/simple_html_dom.php";
$dom = file_get_html( "test.html" );
echo $dom->outertext;
?>

到目前为止一切顺利,这将显示文件 test.html。但是,当我尝试更改某些内容时,会出现错误:

<?
include "simplehtmldom/simple_html_dom.php";
$dom = file_get_html( "test.html" );
$dom->find('.title')->innertext = "changed";
echo $dom->outertext;
?>

警告:尝试在第 4 行的E:\internet\test.php中分配非对象的属性。虽然我相信我完全按照手册进行操作。这里出了什么问题?显然 $dom->find('.title') 没有返回一个有效的元素,但问题是:为什么?它应该找到DIV?

4

1 回答 1

1

第一的:

您显然错过了找到元素的索引,因此这里没有属性find()->innertext 修复代码:

<?php
error_reporting(E_ALL);
include "simplehtmldom/simple_html_dom.php";
$dom = file_get_html( "index.html" );
$dom->find('.title',0)->innertext = "changed";
echo $dom->outertext;

第二:

不建议您使用Simple Html DOM库,因为它是旧的而不是实际的。看看QueryPath库,它正在做同样的事情并且状况更好。

http://querypath.org/

于 2011-06-29T10:48:29.803 回答