【发布时间】:2011-11-12 03:47:09
【问题描述】:
有没有办法为模块提供白名单以保留某些标签?
现在标记如下
<div><b>test</b></div>
去掉这段代码
my $hs = HTML::Strip->new();
open FILE, "<test.markup";
$raw_html=<FILE>;
my $clean_text = $hs->parse( $raw_html );
$hs->eof;
在下面产生输出
test
但是我想得到下面的<b> 标签白名单输出。
<b>test</b>
编辑,一个解决方案
my $hss = HTML::StripScripts::Parser->new(
{
Context => 'Inline',
EscapeFiltered => 0,
BanAllBut => [qw(i b u)],
},
strict_comment => 0,
strict_names => 0,
);
$hss->filter_html("<div><b>test</b></div>");
$cooked = $hss->filtered_document;
$cooked =~ s/<!--filtered-->//g;
print $cooked; // <b>test</b>
【问题讨论】:
标签: perl html-parsing perl-module