我需要使用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但没有成功.
以下是使用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)