#!/usr/bin/perl
use strict;
use warnings;
use feature 'say';
use Mojo::DOM;
my $html = '<ul><div class="txt" style="position:absolute; left:84px;
+top:73px;"><span id="f1" style="font-size:11px;vertical-align:baselin
+e;color:rgba(0,0,0,1);">technology of S2S translation, <b>also</b> kn
+own as <b>Spoken</b> Language Translation (SLT),</span></div><div cla
+ss="txt" style="position:absolute; left:44px; top:73px;"><span id="f1
+" style="font-size:11px;vertical-align:baseline;color:rgba(0,0,0,1);"
+>is a new application of AI,</span></div><li>there</li><li>everyone</
+li></ul>
';
my $dom = Mojo::DOM->new( $html );
$dom->find('span')->each( sub { $_->content( $_->content =~ s/Spoken/D
+erp/r ) } );
say $dom->content;
Output:
<ul><div class="txt" style="position:absolute; left:84px; top:73px;"><
+span id="f1" style="font-size:11px;vertical-align:baseline;color:rgba
+(0,0,0,1);">technology of S2S translation, <b>also</b> known as <b>De
+rp</b> Language Translation (SLT),</span></div><div class="txt" style
+="position:absolute; left:44px; top:73px;"><span id="f1" style="font-
+size:11px;vertical-align:baseline;color:rgba(0,0,0,1);">is a new appl
+ication of AI,</span></div><li>there</li><li>everyone</li></ul>
The <b></b> tags around 'also' are still there, and replacing 'Spoken' with 'Derp' also maintains the associated <b></b> tags. Perhaps you've altered some code? |