-6

我需要在 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 技能。

4

1 回答 1

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>
于 2012-06-25T13:20:36.003 回答