-
есть HTML-код, нужно удалить все теги кроме заранее заданных...
ну к примеру
$text=~s/<(\\/)?(img|p|br)[^>]*?//ig;
удаляет теги img, p, br, НО как сделать обратное ? тобишь оставить только эти теги, а остальные выкинуть?
про модули парсинга хтмл итд спасибо, за совет читать ман тоже заранее благодарю :)
-
единственное, что приходит на ум, так сделать не =~, a !~, но оно не работает, в регекспах КРОМЕ существует только для отдельных символов ^[img] - кроме букв i,m,g. Как сделать именно фразы, ума ни приложу
-
perldoc HTML::Scrubber
-
$qwe="
text
Image:
";
print $_ for grep /(
])/,$qwe=~/(<.+?>)|([^<]+)/g;
-
хм, у меня пока тока так получилось, не оператор s///
my $tag = "(img|p|br)";
my $patern = qr/(<(?:\\/?)$tag\\b(?:.*?)>)/i;
my $text="";
while ($body =~ m/$patern/gm){ $text .= $1; }
print $text;
-
всем спасибо)
-
Привет.
Вот так, наверно...
$_=\' ddd aaa
\';
s#<(?!(?:img|p|br))\\b[^>]*>##gi;
print;