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

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Получение HTML кода php скриптом 
:(
    Опции темы
Borland
Дата 2.12.2008, 17:23 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



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

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



Всем добрый день.

Понимаю что тема изъезженая. много прочёл на форуме. Но ответа пока так и не нашёл.

Задача у меня  такая: Нужно получить html  код страницы. НО как вы понимаете на страницах могут быть JS, ... Ajax вставки, которые подтягивают данные и прочее. А мне не нужны эти скрипты. Мне нужен итоговый HTML  который отображается браузером. 

Я сейчас получаю содержимое через CURL , но либо не туда смотрю, либо curl не позволяет этого сделать. В общем задача не решена.

Кто-нибудь может что-то посоветовать?

Заранее благодарен.
PM   Вверх
skyboy
Дата 2.12.2008, 17:53 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


неОпытный
****


Профиль
Группа: Модератор
Сообщений: 9820
Регистрация: 18.5.2006
Где: Днепропетровск

Репутация: 75
Всего: 260



Цитата(Borland @  2.12.2008,  16:23 Найти цитируемый пост)
 НО как вы понимаете на страницах могут быть JS, ... Ajax вставки, которые подтягивают данные и прочее. А мне не нужны эти скрипты. Мне нужен итоговый HTML  который отображается браузером. 

Я сейчас получаю содержимое через CURL , но либо не туда смотрю, либо curl не позволяет этого сделать. В общем задача не решена.

т.е. на стороне сервера написать интерпретатор, который сфомирует нужный тебе html путем выполнения некоего заранее неизвестного javascript? нет, в общем виде это невозможно.
PM MAIL   Вверх
Валерия
Дата 2.12.2008, 18:30 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


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

Репутация: 3
Всего: 8



Для этого подойдут регулярные выражения.
Нужно заменить на пустоту всё что находится между < и >, включая сами "<" и ">"
Почитайте на php.org про preg_replace, там в комментариях есть пример, как убрать все html теги.
PM MAIL   Вверх
Borland
Дата 2.12.2008, 18:32 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



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

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



А если учесть что сервер а 100% мой, нет ли каких либо методов реализовать подобную задачу?
может воспользоваться сторонними библиотеками или программами.
Сервак на Debian

Ведь поисковики то вроде как то это делают....
PM   Вверх
Валерия
Дата 2.12.2008, 18:48 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


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

Репутация: 3
Всего: 8



Я ведь тебе показала решение smile
Раз ты в форум пхп запостил то и решение будет пхп smile
Я ошиблась, там не в комментариях, а в самом примере под номером 5:
Пример #5 Конвертор HTML в текст
<?php
// $document на выходе должен содержать HTML-документ.
// Необходимо удалить все HTML-теги, секции javascript,
// пробельные символы. Также необходимо заменить некоторые
// HTML-сущности на их эквивалент.

$search = array ("'<script[^>]*?>.*?</script>'si",  // Вырезает javaScript
                 "'<[\/\!]*?[^<>]*?>'si",           // Вырезает HTML-теги
                 "'([\r\n])[\s]+'",                 // Вырезает пробельные символы
                 "'&(quot|#34);'i",                 // Заменяет HTML-сущности
                 "'&(amp|#38);'i",
                 "'&(lt|#60);'i",
                 "'&(gt|#62);'i",
                 "'&(nbsp|#160);'i",
                 "'&(iexcl|#161);'i",
                 "'&(cent|#162);'i",
                 "'&(pound|#163);'i",
                 "'&(copy|#169);'i",
                 "'&#(\d+);'e");                    // интерпретировать как php-код

$replace = array ("",
                  "",
                  "\\1",
                  "\"",
                  "&",
                  "<",
                  ">",
                  " ",
                  chr(161),
                  chr(162),
                  chr(163),
                  chr(169),
                  "chr(\\1)");

$text = preg_replace($search, $replace, $document);
?>
Код



PM MAIL   Вверх
skyboy
Дата 2.12.2008, 20:06 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


неОпытный
****


Профиль
Группа: Модератор
Сообщений: 9820
Регистрация: 18.5.2006
Где: Днепропетровск

Репутация: 75
Всего: 260



Валерия, человек хочет получать не отдаваемый сервером текст, а уже модифицированный javascipt'ом. Так, Borland?
PM MAIL   Вверх
Borland
Дата 2.12.2008, 20:40 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



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

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



Цитата(skyboy @ 2.12.2008,  20:06)
человек хочет получать не отдаваемый сервером текст, а уже модифицированный javascipt'ом. Так, Borland?

Абсолютно верно.

Мне нужен итоговый HTML, представляющий собой суммарный результат статического html + результат работы скриптов на странице. Причём я не говорю что только JS. Там могут быть и VBscript ..... 


PM   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "PHP"
Aliance
IZ@TOP
skyboy
SamDark
MoLeX

Новичкам:

  • PHP редакторы собираются и обсуждаются здесь
  • Электронные книги по PHP, документацию можно найти здесь
  • Интерпретатор PHP, полную документацию можно скачать на PHP.NET

Важно:

  • Не брезгуйте пользоваться тегами [code=php]КОД[/code] для повышения читабельности текста/кода.
  • Перед созданием новой темы воспользуйтесь поиском и загляните в FAQ
  • Действия модераторов можно обсудить здесь

Внимание:

  • Темы "ищу скрипт", "подскажите скрипт" и т.п. будут переноситься в форум "Web-технологии"
  • Темы с именами: "Срочно", "помогите", "не знаю как делать" будут УДАЛЯТЬСЯ

Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, IZ@TOP, skyboy, SamDark, MoLeX, awers.

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


 




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


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

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