如何在Perl中基于类替换一些HTML标记?

Vic*_*hez 1 html perl

我需要使用Perl替换HTML中的一些标签:

我有这个:

<span class="a">text</span><span class="a">text</span><span id="b">text</span>
Run Code Online (Sandbox Code Playgroud)

我需要这个,其中span标签class=a改为b标签:

<b>text</b><b>text</b><span id="b">text</span>
Run Code Online (Sandbox Code Playgroud)

我尝试使用HTML :: Manipulator但没有成功.

dao*_*oad 7

以下是使用HTML :: TreeBuilder的方法:

use strict;
use warnings;
use HTML::TreeBuilder;

my $html_string = '<span class="a">text</span><span class="a">text</span><span id="b">text</span>';    

my $root = HTML::TreeBuilder->new_from_content($html_string);
$root->elementify;  # Make $root into an HTML::Element object;


for my $e ( $root->look_down( _tag => 'span', class => 'a' ) ) {
    $e->tag( 'b' );
    $e->attr( class => undef );
} 

print $root->as_HTML;
Run Code Online (Sandbox Code Playgroud)