получить ошибку при чтении simpleDomObject - PullRequest
0 голосов
/ 29 июня 2011

У меня есть следующий файл шаблона с именем '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;
?>

Предупреждение : попытка назначить свойство не-объекта в E: \ internet \ test.php в строке 4. Хотя я верю, что точно следую инструкции.Что здесь не так?Очевидно, $ dom-> find ('. Title') не вернул допустимый элемент, но вопрос в том, почему?Это должен найти DIV?

1 Ответ

1 голос
/ 29 июня 2011

Первый:

Вы явно пропустили индекс для найденных элементов, поэтому здесь нет восстановленного кода свойства 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;

Второй:

I не рекомендовал бы использовать библиотеку Simple Html DOM, потому что она старая и неактуальная. Взгляните на библиотеку QueryPath, которая делает то же самое и находится в лучшем состоянии.

http://querypath.org/

...