我需要在html文件中保留几个html标签,但要删除所有其他标签。
脚本的逻辑是:
- if there is <li> or <ul> on the line, do nothing (=write same line to output)
- otherwise if there is html tag, remove it (=just write the content)
有人可以帮助我,这可以解决我非常有限的perl技能。
答案 0 :(得分:3)
您可以使用HTML::Restrict
执行此操作#!/usr/bin/env perl
use strict;
use warnings;
use HTML::Restrict;
my $hr = HTML::Restrict->new( rules => { li => [], ul => [] } );
my $html
= q[<body><b>hello</b> <img src="pic.jpg" alt="me" id="test" /><ul><li>one</li></ul></body>];
my $processed = $hr->process( $html );
print $processed;
结果输出为:
hello <ul><li>one</li></ul>