Кроссплатформенный открытый движок на Java, позволяющий создавать 2D и 3D игры под различные платформы, среди которых: Android, HTML5, Windows, Linux, iOS.
Поддержи проект!
Рекомендуем
Блог разработчика
Главная » 2012 » Август » 20 » PHP Simple HTML DOM Parser. Прочие возможности.
11:09 PM
PHP Simple HTML DOM Parser. Прочие возможности.
Как перемещаться по дереву объекта DOM?
// Пример
echo $html->find("#div1", 0)->children(1)->children(1)->children(2)->id;
// или
echo $html->getElementById("div1")->childNodes(1)->childNodes(1)->childNodes(2)->getAttribute('id');
Метод
Описание
mixed $e->children ( [int $index] )
Возвращает N-ный дочерний объект если index указан, в остальных случаях возвращает массив потомков.
element $e->parent ()
Возвращает родителя элемента.
element $e->first_child ()
Возвращает первого потомка элемента, или null если ничего не найдено.
element $e->last_child ()
Возвращает последнего потомка элемента, или null если ничего не найдено.
element $e->next_sibling ()
Возвращает следующий элемент, находящийся на том же уровне или null если ничего не найдено.
element $e->prev_sibling ()
Возвращает предыдущий элемент, находящийся на том же уровне или null если ничего не найдено.
Также эти методы существуют и в "верблюжьей" нотации. О них мы еще поговорим позже, в разделе про API.
Как получить содержимое объекта DOM?
Быстрый способ:
// Дамп дерева DOM обратно в строку
$str = $html;
// Печатаем
echo $html;
ООП-способ:
// Дамп дерева DOM обратно в строку
$str = $html->save();
// Дамп дерева DOM обратно в файл
$html->save('result.htm');
Как определить функцию обратного вызова на найденный элемент?
// Напишем функцию с параметром "$element"
function my_callback($element) {
// Скрываем все <b>
if ($element->tag == 'b')
$element->outertext = '';
}
// Регистрируем коллбэк, указывая имя функции
$html->set_callback('my_callback');
// Во время дампа будет вызван коллбэк
echo $html;