PHP - Убрать теги из текста

Lord Maverik
На сайте с 15.04.2003
Offline
471
21918

Есть такая тулза strip_tags - но почемуто не помогает. В простых случаях она теги убирает, но когда подсовываетя таблица, с дивами, стилями - жутко тупит.

Мне нужно - есть произвольный текст в html формате. Нужно получить из него чистй текст. Т.е. как если бы я взял, в браузере скопировал что вижу, вставил в блокнот и вот - чистый текст без всякой разметки.

Кто сталкивался?

RedMall.Ru (https://redmall.ru) - Товары из Китая (Таобао, Tmall) с проверкой качества, скидка для форумчан 7% Партнерская программа 2 уровня: 5% + 5%. Подробнее. (https://redmall.ru/about/partner/)
N_MONax
На сайте с 22.08.2007
Offline
112
#1

Универсальный пример вот:


<?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);
?>
Полный спектр услуг в интернете. Быстро, Качественно, Дорого. Пишите в личку.
Lord Maverik
На сайте с 15.04.2003
Offline
471
#2

Да, я видел такой пример на php.net и некоторых форумах. Беда в том, что он не универсальный и не помогает. Я ему страничку сунул с кодом, он на ней сразу обломался.

tommy-gung
На сайте с 22.11.2006
Offline
287
#3

Lord Maverik, так может просто-напросто пропущен закрывающийся тег?

Здесь не могла быть ваша реклама
Progr@mmer\.
На сайте с 14.10.2007
Offline
44
#4

Приведи тут пример кода, который ты суешь на обработку.

Вашей девушке не хватает романтики? Черпните её на сайте «Я Люблю Романтику» (http://iloveromantics.ru/). Романтический форум (http://forum.iloveromantics.ru/) для отдыха от нудной работы.
LEOnidUKG
На сайте с 25.11.2006
Offline
1723
#5

если пихать всю туда html, например от яндекса strip_tags, мне оставили лишь:

<html><body></body></html>

))))

✅ Мой Телеграм канал по SEO, оптимизации сайтов и серверов: https://t.me/leonidukgLIVE ✅ Качественное и рабочее размещение SEO статей СНГ и Бурж: https://getmanylinks.ru/
Lord Maverik
На сайте с 15.04.2003
Offline
471
#6

tommy-gung, Все разобрался. Все там нормально работает :)

Там уже мои косяки просто были.

Авторизуйтесь или зарегистрируйтесь, чтобы оставить комментарий