| Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
| Форум программистов > PHP: Общие вопросы > Получение HTML кода php скриптом |
| Автор: Borland 2.12.2008, 17:23 |
| Всем добрый день. Понимаю что тема изъезженая. много прочёл на форуме. Но ответа пока так и не нашёл. Задача у меня такая: Нужно получить html код страницы. НО как вы понимаете на страницах могут быть JS, ... Ajax вставки, которые подтягивают данные и прочее. А мне не нужны эти скрипты. Мне нужен итоговый HTML который отображается браузером. Я сейчас получаю содержимое через CURL , но либо не туда смотрю, либо curl не позволяет этого сделать. В общем задача не решена. Кто-нибудь может что-то посоветовать? Заранее благодарен. |
| Автор: Валерия 2.12.2008, 18:30 |
| Для этого подойдут регулярные выражения. Нужно заменить на пустоту всё что находится между < и >, включая сами "<" и ">" Почитайте на php.org про preg_replace, там в комментариях есть пример, как убрать все html теги. |
| Автор: Borland 2.12.2008, 18:32 |
| А если учесть что сервер а 100% мой, нет ли каких либо методов реализовать подобную задачу? может воспользоваться сторонними библиотеками или программами. Сервак на Debian Ведь поисковики то вроде как то это делают.... |
| Автор: Валерия 2.12.2008, 18:48 | ||
| Я ведь тебе показала решение Раз ты в форум пхп запостил то и решение будет пхп Я ошиблась, там не в комментариях, а в самом примере под номером 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); ?>
|
| Автор: skyboy 2.12.2008, 20:06 |
| Валерия, человек хочет получать не отдаваемый сервером текст, а уже модифицированный javascipt'ом. Так, Borland? |
| Автор: Borland 2.12.2008, 20:40 | ||
Абсолютно верно. Мне нужен итоговый HTML, представляющий собой суммарный результат статического html + результат работы скриптов на странице. Причём я не говорю что только JS. Там могут быть и VBscript ..... |