Вернуться   Форум об интернет-маркетинге > >
Ответ
 
Опции темы
Старый 28.02.2008, 01:45   #1
Архитектор
 
Аватар для Lord Maverik
 
Регистрация: 15.04.2003
Адрес: Санкт-Петербург
Сообщений: 4,399
Репутация: 729888
Отправить сообщение для Lord Maverik с помощью ICQ Отправить сообщение для Lord Maverik с помощью MSN Отправить сообщение для Lord Maverik с помощью Skype™
Социальные сети Профиль в ВКонтакте

По умолчанию PHP - Убрать теги из текста

Есть такая тулза strip_tags - но почемуто не помогает. В простых случаях она теги убирает, но когда подсовываетя таблица, с дивами, стилями - жутко тупит.
Мне нужно - есть произвольный текст в html формате. Нужно получить из него чистй текст. Т.е. как если бы я взял, в браузере скопировал что вижу, вставил в блокнот и вот - чистый текст без всякой разметки.
Кто сталкивался?
__________________
RedMall.Ru - Товары из Китая (Таобао, Tmall) с проверкой качества, скидка для форумчан 7%
Партнерская программа 2 уровня: 5% + 5%. Подробнее.
Lord Maverik вне форума   Ответить с цитированием

Реклама
Старый 28.02.2008, 02:10   #2
N_MONax
Mata, Viola, Controla
 
Аватар для N_MONax
 
Регистрация: 22.08.2007
Адрес: Москва
Сообщений: 1,152
Репутация: 124304
Социальные сети

По умолчанию Ответ: PHP - Убрать теги из текста

Универсальный пример вот:
PHP код:
<?php
// $document на выходе должен содержать HTML-документ.
// Необходимо удалить все HTML-теги, секции javascript,
// пробельные символы. Также необходимо заменить некоторые
// HTML-сущности на их эквивалент.

$search = array ("'<script***91;^>***93;*?>.*?</script>'si",  // Вырезает javaScript
                 
"'<***91;\/\!***93;*?***91;^<>***93;*?>'si",           // Вырезает HTML-теги
                 
"'(***91;\r\n***93;)***91;\s***93;+'",                 // Вырезает пробельные символы
                 
"'&(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);
?>
__________________
Полный спектр услуг в интернете. Быстро, Качественно, Дорого. Пишите в личку.
N_MONax вне форума   Ответить с цитированием
Старый 28.02.2008, 08:14   #3
Lord Maverik
Архитектор
 
Аватар для Lord Maverik
 
Регистрация: 15.04.2003
Адрес: Санкт-Петербург
Сообщений: 4,399
Репутация: 729888
Отправить сообщение для Lord Maverik с помощью ICQ Отправить сообщение для Lord Maverik с помощью MSN Отправить сообщение для Lord Maverik с помощью Skype™
Социальные сети Профиль в ВКонтакте

ТопикСтартер Ответ: PHP - Убрать теги из текста

Да, я видел такой пример на php.net и некоторых форумах. Беда в том, что он не универсальный и не помогает. Я ему страничку сунул с кодом, он на ней сразу обломался.
Lord Maverik вне форума   Ответить с цитированием
Старый 28.02.2008, 08:22   #4
tommy-gung
Малыш tommy
 
Аватар для tommy-gung
 
Регистрация: 22.11.2006
Адрес: Severodonetsk \ Moscow
Сообщений: 2,705
Репутация: 234106
Отправить сообщение для tommy-gung с помощью ICQ

По умолчанию Ответ: PHP - Убрать теги из текста

Lord Maverik, так может просто-напросто пропущен закрывающийся тег?
__________________
> Тут был малыш
tommy-gung вне форума   Ответить с цитированием
Старый 28.02.2008, 08:29   #5
Progr@mmer\.
Чеширский Кот
 
Аватар для Progr@mmer\.
 
Регистрация: 14.10.2007
Сообщений: 527
Репутация: 9725
Отправить сообщение для Progr@mmer\. с помощью ICQ

По умолчанию Ответ: PHP - Убрать теги из текста

Приведи тут пример кода, который ты суешь на обработку.
__________________
Вашей девушке не хватает романтики? Черпните её на сайте «Я Люблю Романтику».

Романтический форум для отдыха от нудной работы.
Progr@mmer\. вне форума   Ответить с цитированием
Старый 28.02.2008, 08:34   #6
LEOnidUKG
『 Работаем 』
 
Аватар для LEOnidUKG
 
Регистрация: 25.11.2006
Адрес: Интернет
Сообщений: 22,887
Репутация: 2015264
Отправить сообщение для LEOnidUKG с помощью ICQ

По умолчанию Re: PHP - Убрать теги из текста

если пихать всю туда html, например от яндекса strip_tags, мне оставили лишь:
<html><body></body></html>
))))
LEOnidUKG вне форума   Ответить с цитированием
Старый 06.03.2008, 06:37   #7
Lord Maverik
Архитектор
 
Аватар для Lord Maverik
 
Регистрация: 15.04.2003
Адрес: Санкт-Петербург
Сообщений: 4,399
Репутация: 729888
Отправить сообщение для Lord Maverik с помощью ICQ Отправить сообщение для Lord Maverik с помощью MSN Отправить сообщение для Lord Maverik с помощью Skype™
Социальные сети Профиль в ВКонтакте

ТопикСтартер Ответ: PHP - Убрать теги из текста

tommy-gung, Все разобрался. Все там нормально работает
Там уже мои косяки просто были.
Lord Maverik вне форума   Ответить с цитированием
Ответ



Опции темы

Быстрый переход


Регистрация Справка Календарь Поддержка Все разделы прочитаны