Forum Webscript.Ru
Программирование => Perl => Тема начата: от 06 Ноября 2001, 16:19:25
-
смотри Subject
-
Почитай про HTML::Parser
-
Почитай про HTML::Parser
... или соорудить конструкцию при помощи регэкспа.
-
Может так?
$text =~ s/<([^>]|\\n)*>//g;
$text =~ s//g;
$text =~ s/>//g;
-
$text =~s/<[^>]+>//g;
-
а как насчет > < в тексте?
Предлагаю использовать ту особенность, что, после < идет буква лат. алфавита без пробела (по крайней мере обычно :) )
s/<[a-zA-z][^>]*>//g
-
Да еще на пробел перед > и после буквы/цифры не мешало бы проверочку создать...
s/<[a-zA-z][^>]* *>//g
-
NeoNox
Да еще на пробел перед > и после буквы/цифры не мешало бы проверочку создать...
Зачем??? Ведь в тегах после < всегда идет закрывающая > и для других целей она использоваться не может!
-
Зачем??? Ведь в тегах после < всегда идет закрывающая > и для других целей она использоваться не может!
а вот и не правда ваша :)
в спецификации ХТМЛ сказано, что перед закрывающей скобкой допускаются пробелы!
-
Как надежно удалить <хтмл-теги> из тескта
надежно можно с HTML::Parser - конечно можно самому извращаться - но зачем изобретать велосипед?
-
надежно можно с HTML::Parser
Все возвращается на круги свои.
-
lodevar
дык первый ответ был исчерпывающий ;)
-
вот и я про то.
-
дык первый ответ был исчерпывающий
В споре рождается истина! :)
Хотя, я бы все-таки через регэксп делал.
-
а вот и не правда ваша
в спецификации ХТМЛ сказано, что перед закрывающей скобкой допускаются пробелы!
Да я не про то! Я про то, что если тег начался, то в нем не могут использоваться ">", кроме как для закрытия! Поэтому проверка на пробел излишняя...
-
а где прочитать про HTML::Parser ???
-
http://www.eugene.dp.ua/Superadmin/perl/chapter20/20_1.htm#206
З.Ы. Это перепечатка Perl Cookbook (c) O\'RELLY
Так что: "покупайте книги товарищи. Книга - лучший друг человека" (чей-то лозунг).:D
-
Да я не про то! Я про то, что если тег начался, то в нем не могут использоваться ">", кроме как для закрытия! Поэтому проверка на пробел излишняя...
Интересное мнение а как насчет такого
>> Пупкина\'> В ALT все будет показываться как надо с ->>>, короче ВОПРОС ТОТ ЖЕ ???????
-
как я понял Парсер для собственного сервера, а у меня хостинг на кудыкиной горе и ни как я его туды не закину, если не прав поясните плиз потому как я пронего читал но мой хостинг его не поддерживает
-
а как Вам например тотже вариант с IMG но при этом тег разделен на две или три строки
src=\'Пупкин.gif\'
alt=\'проблемы ->>> Пупкина\'> А .....???????
-
Тогда используй модуль... На самом деле проблем может быть очень много, но в данном случае:
s/<[A-za-z]([^\'">]*[\'"][^\'"]*?[\'"])*[^>]*>//sig
Это, конечно, сплошное извращение, а не выражение :), оптимизировать надо, да и опять же что-нибудь пропустит :) Думать надо долго и мучительно, а это такое неблагодарное занятие...
-
После удаления ХТМЛов остается туча пустых строк, надобно их схлопнуть в одну
-
а у меня хостинг на кудыкиной горе и ни как я его туды не закину
хостера в студию... :)
-
Казахский вариант :D
$mail="f:/mail.html";
open (OUT, "<$mail");
$sort="f:/txt.txt";
open (IN, ">$sort");
undef ($/);
$_=;
$_=~s/\\<+?style.+?\\<+?\\/style\\+?>//isg;# смерть теблицам стилий Если я павелно это понимю
$_=~s/\\<+?SCRIPT.+?\\<+?\\/SCRIPT+?\\>//isg;# смерть скриптам
$_=~s/\\<+?.+?\\>+?//sg;#теги выкусывает любые однозначно С комментарияме правде есть пролема
$_=~s/(\\s+\\n\\n)//sg;#находит и убивает много лишних переводов строки НЕ ВСЕ
print IN $_;
Осталась одно только проблема на мой взгляд
вот из такой строки
остоётся "-->"
Если ктото заметит что скрипт работает криво высылайте пожалысто код который скрипт ненашол
добавим пофиксим исправим
ююю
-
Казахский вариант :D
Блин опять закривулил Устал навегное нуно спать
$_=~s/\\<+?style.+?\\<+?\\/style.+?\\>//isg;# смерть теблицам стилий
$_=~s/\\<+?SCRIPT.+?\\<+?\\/SCRIPT.+?\\>//isg;# смерть скриптам
$_=~s/\\<+?.+?\\>+?//sg;#теги выкусывает любые однозначно С комментарияме правде есть пролема
$_=~s/(\\s+\\n\\n)//sg;
ююю
-
$value =~ s/\\</gi;
$value =~ s/\\>/>/gi;
-
$value =~ s/\\</gi;
$value =~ s/\\>/>/gi;
типа круто. только не по теме немножко... :)