|
ru.perl- RU.PERL ---------------------------------------------------------------------- From : Serge Shikov 2:5020/400 05 Jul 2000 14:44:20 To : All Subject : Re: подскажите regexp иличто-нибудь, чтобы вырезать атрибуты из т -------------------------------------------------------------------------------- иличто-нибудь, чтобы вырезать атрибуты из тэгов HTML Artur Penttinen wrote: > > > Hапример <option value=">нафиг, нафиг такие программы>"> - и куда пойдет > > твой регексп на такой допустимой конструкции? > > Знаю. Ради интереса проверил как-то - а есть-ли такие html'ы > В ближайшей окрестности не нашел. Hу в общем я привел почти реальный пример - в option может быть все что угодно. Хотя конечно, в статических файлах вероятность напороться весьма мала. > ok: > s/<(\w+) (?:\w+=(.).*?(?<=\\)\2|\w+=\w+|\w+)\b/<$1/g > Примерно так - не отлаживал > > Ваше слово, Товарищ Маузер :) Я предпочитаю все-таки взять в зубы HTML::Filter, и сделать как в его примере: package AttrStripper; require HTML::Filter; @ISA=qw(HTML::Filter); sub output { my $self = shift; unless (тут некая проверка, какие атрибуты и каким тэгам обрезать) { $self->SUPER::output(@_); } else { # а тут некий свой вывод, взяв из $self только то, что нам нужно. } } Конечно, регексп будет эффективнее, но вряд ли намного. А уж насколько проще будет модифицировать мой вариант - тут и говорить не о чем. --- ifmail v.2.15dev5 * Origin: home (2:5020/400) Вернуться к списку тем, сортированных по: возрастание даты уменьшение даты тема автор
Архивное /ru.perl/2825f5764c24.html, оценка из 5, голосов 10
|