|
|
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
|