我有以下模板文件,名为'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-&gt; find('。title')没有返回有效元素,但问题是:为什么?它应该找到DIV?
答案 0 :(得分: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
库,它正在做同样的事情并处于更好的状态。