Модераторы: skyboy, MoLeX, Aliance, ksnk
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> как представить html в виде xml/dom дерева, чтоб потом можно было обратиться к элем. 
:(
    Опции темы
Alone
Дата 3.6.2005, 10:40 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 663
Регистрация: 11.5.2003
Где: Dnepropetrovsk, U A

Репутация: нет
Всего: 6



Стоит задача сливать страницу, и выделять оттуда некую информацию.
страница динамична, греповать не получится... Вот вопрос:
А можно ли как то средствами рнр4 залиь эту старницу в xml или dom объект,
чтоб потом можно было обращаться к его элементам типа $obj->table->td... ?


--------------------
web developer/telecommunication specialist.
mailto: [email protected]
ICQ#28442924

PM MAIL WWW ICQ   Вверх
Master
Дата 6.6.2005, 12:32 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Участник Клуба
Сообщений: 1530
Регистрация: 13.5.2003
Где: Mother Russia

Репутация: нет
Всего: 10



греповать можно все... все зависит от знания грепа smile страницу с объяснением причины почему её нельзя греповать в студию.


--------------------
Вавилон, Вавилон
Что ты построил, что разрушил?
Вавилон, Вавилон
Плавятся души дьявольским огнем.
PM WWW ICQ   Вверх
OPG
Дата 6.6.2005, 12:40 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 117
Регистрация: 25.2.2005

Репутация: нет
Всего: 1





Код

$fp=fopen("page.html","r");


$temp=fread($fp,filesize("page.html"));
  

$page= domxml_open_mem($temp);
              

$root = $page->document_element();
    

$elements = $page->get_elements_by_tagname("body");

$element = $elements[0];


$content=$element->get_content();


Теперь в переменной $content валяется содержимое тега body, и так можно получить что хочешь.
Добавлено @ 12:48
Короче сливаешь страницу в переменную, которую затем сваливаешь функции которая формирует деревянное дерево в памяти.

Есть камни подводные.

Во-первых, данную страницу сначала надо обработать по поводу вырезания пробелов, знаков табуляции и всякой лабудени, которыми нашпигованы строки между тегами. XML документ воспринимает все знаки. Сволочь эдакая:)
Потом. В HTML документе встречаются мета теги, которые не имеют обычно закрывающего тега и еще навалом таких, некоторые пишут <p> , без закрывающего тега. А что говорить об <br> и <hr>? Тогда надо писать так <br />, пробел не забывай между br и /. В общем иначе будет ошибка.
Но эти проблемы легко решить, а пользы и удобства много.
Наслаждайся:)
PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса

Внимание: данный раздел предназначен для решения сложных, нестандартных задач.

 
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | PHP: Для профи | Следующая тема »


 




[ Время генерации скрипта: 0.0402 ]   [ Использовано запросов: 21 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.