Как получить только текст с html страницы?

Добрый вечер.
Надо получить весь текст, который находится на странице сайта.
Без привязки к атрибутам тегов. Исключить надо script, iframe.
В конце надо записать в текстовый файл, с переносом строк.
Начал со следующего:
$str = file_get_contents('http://site.com');
$doc = new DOMDocument();
@$doc->loadHTML($str);
$body = $doc->getElementsByTagName('body');
...

После этого тупик, не могу сообразить, как лучше и правильно сделать.
Получаю DOMElement, где в textContent содержится весь текст.
Как его разобрать, чтобы можно было записать в файл? Посоветуйте, как правильно сделать?

p.s. Порядок в файле должен быть приблизительно следующий:
Заголовок
Подзаголовок
Текст
Меню
Текст
Текст
и т.д.
  • Вопрос задан
  • 2883 просмотра
Пригласить эксперта
Ответы на вопрос 2
@vshvydky
Simple_html_dom -> find -> plaintext
Ответ написан
Комментировать
xmoonlight
@xmoonlight
https://sitecoder.blogspot.com
$text=<<<t
hellow <b>test</b> <iframe src=javascript>browser is bad!</iframe>
<script>alert('hi');</script>
test2<br>
<script>alert('hi');</script>


test3


t;
$text=preg_replace('#(\<iframe.*?\/iframe>)#u',"",$text);
$text=preg_replace('#(\<script.*?\/script>)#u',"",$text);
$text=preg_replace('#(\<(\/?[^>]+)>)#u',"",$text);
$text=preg_replace('#((\n\r)+)#u',"",$text);
echo "<pre>".$text."</pre>";
/*
hellow test 
test2
test3
*/
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы