Главная страница


ru.perl

 
 - RU.PERL ----------------------------------------------------------------------
 From : Artem Chuprina                       2:5020/400     23 May 2002  15:14:19
 To : "Alexander V. Gaiduk"
 Subject : Re: Hа: Удалить все html-теги из переменной, оставив содержание
 -------------------------------------------------------------------------------- 
 
 Здравствуй, Alexander V. Gaiduk.
 
 AVG> > Доброго времени суток, уважаеммый(ая) Всем
 AVG> >
 AVG> > Есть ли какие-нибуть модули, которые позволяют это сделать?
 
 AVG> во народ, сразу модули...
 
 AVG> $str =~ s/(<(?=!--)([^>]|\n)*--(?=>)>)//ig;
 AVG> $str =~ s/|(<\/?([^>]|\n)*>)//g;
 
 AVG> на особых эстэтов, типа VW и AC это не расчитано :)
 
 А на особо специально обученных юзеров? Помню, ловил я баг с подобным
 разбором. Форум. Побеждается тупо - начинаем тег в одном сообщении,
 заканчиваем в другом. Автор кода проверки долго ругался и в итоге таки
 инвалидировал оставшиеся неприкаянными открывающиеся угловые скобки. Хотя у
 него код был умнее - твой побеждается чем-нибудь вроде <tag attr="<>">.
 
 В FAQ, что ли, написать?...
 
 s/<[^>]*>//g: <tag attr="<>">        -> <tag attr="">
 s/<.*>//gs:   <tag1>valid text<tag2> -> 
 s/<.*?>//gs:  <tag attr=">>">        -> >>">
 
 Кроме того, все три варианта ничего не могут противопоставить злонамеренному
 или просто изощренному юзеру в форумах, где можно запостить два сообщения, или
 в формах, которые позволяют ввести два поля, показываемые на одной странице -
 начинаем тег в одном поле или сообщении, заканчиваем в другом.
 
 Мораль: после того, как Вы выкусили все, что могли, не забудьте инвалидировать
 все открывающие угловые скобки, которые остались.
 
 Варианты двух последних без модификатора /s, в том числе и с альтернативой \n,
 не рассматриваются ввиду незнания их авторами матчасти. Варианты первого _с_
 модификатором s или с альтернативой \n - по той же причине.
 
 -- 
 Artem Chuprina
 Communiware.net
 RFC2822: <ran@ran.pp.ru>, FIDO: 2:5020/358.49, ICQ: 13038757
 --- ifmail v.2.15dev5
  * Origin: Leninsky 45 home network (2:5020/400)
 
 

Вернуться к списку тем, сортированных по: возрастание даты  уменьшение даты  тема  автор 

 Тема:    Автор:    Дата:  
 Удалить все html-теги из переменной, оставив содержание   Soft   21 May 2002 21:49:43 
 Hа: Удалить все html-теги из переменной, оставив содержание   Alexander V. Gaiduk   23 May 2002 14:32:15 
 Re: Hа: Удалить все html-теги из переменной, оставив содержание   Andrey Sapozhnikov   23 May 2002 15:14:19 
 Hа: Hа: Удалить все html-теги из переменной, оставив содержание   Alexander V. Gaiduk   23 May 2002 17:10:31 
 Re: Hа: Удалить все html-теги из переменной, оставив содержание   Artem Chuprina   23 May 2002 15:14:19 
 Re: Hа: Удалить все html-теги из переменной, оставив содержание   Andrey Sapozhnikov   23 May 2002 15:22:51 
 Re: Hа: Удалить все html-теги из переменной, оставив содержание   Artem Chuprina   24 May 2002 20:19:02 
 Re: Hа: Удалить все html-теги из переменной, оставив содержание   Nikolay Pichtin   23 May 2002 21:59:25 
 Re: Hа: Удалить все html-теги из переменной, оставив содержание   Victor Wagner   24 May 2002 10:53:12 
 Re: Hа: Удалить все html-теги из переменной, оставив содержание   Artem Chuprina   24 May 2002 20:21:05 
 Re: Удалить все html-теги из переменной, оставив содержание   Artem Chuprina   24 May 2002 20:25:10 
Архивное /ru.perl/14454126c89db.html, оценка 2 из 5, голосов 10
Яндекс.Метрика
Valid HTML 4.01 Transitional