Получить вывод HTML (очищенный текст) с помощью PHP - PullRequest
0 голосов
/ 07 апреля 2011

знаете ли вы, есть ли какая-либо функция (PHP), которая очищает некоторый HTML-код (полученный с помощью cURL) и фильтрует видимый текст (который будет показывать браузер). Спасибо

Ответы [ 3 ]

4 голосов
/ 07 апреля 2011

Это сложнее, чем вы думаете. Очевидное простое решение состоит в том, чтобы запустить strip_tags () над ним, но это просто удалит теги и оставит все текстовое содержимое без изменений, включая встроенный JavaScript и CSS, а также весь текст внутри элементов, которые обычно скрыты (например, установив display: none на них). Вы можете попробовать некоторую магию регулярных выражений, чтобы отфильтровать части, которые вам не интересны, но регулярные выражения в HTML, как правило, являются плохой идеей для чего-то нетривиального. Я боюсь, что окончательное решение состоит в том, чтобы использовать правильный анализатор HTML, а затем извлечь фактический текст из получающегося дерева DOM - к тому времени, когда вы его получите, вы будете достаточно близки к реализации веб-браузера.

1 голос
/ 07 апреля 2011

Посмотрите на strip_tags ():

http://us.php.net/manual/en/function.strip-tags.php

0 голосов
/ 07 апреля 2011

Если вы буквально просто «очищаете» код, то решение , такое как TIDY, может быть вашим ответом .

Некоторые решения, подобные этому , позволят вам вывести простой текст и могут облегчить вашу боль.

Тем не менее, «полный» разбор - это совсем другая история, и вам лучше отточить свое регулярное выражение.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...