你好 Jörg,
Bislang behelfe ich mich mit einer while-Schleife. Das funktioniert auch,
aber es erscheint mir wenig elegant und auch zeitaufwändig:while ($text =~ /<p class="txt4">.*?$suchbegriff.*?</p>/) {
$text =~ /<p class="txt4">(.*?)</p>/;
my $korr = $1;
$korr =~ s/$suchb/$ersatz/g;
$text =~ s/<p class="txt4">.*?$suchb.*?</p>/<p class="txt4">$korr</p>/;
}
Ich verstehe nicht so recht, was gegen
s!<p class="txt4">(.*?)$suchb(.*?)</p>!<p class="txt4">$1$korr$2</p>!g;
spricht. Test-Version:
#!/usr/bin/perl -w
use strict;
my $text = '<p class="h4">Dies ist ein Test</p> Dies ist ein Test <p>Dies ist ein Test <p class="h4">Dies ist ein Test</p> Dies ist ein Test</p>';
$text =~ s!<p class="h4">(.*?)Dies(.*?)</p>!<p class="h4">$1Das$2</p>!g;
print $text,"\n";
再见,
克里斯蒂安
--
Wenn gewöhnliche Menschen Wissen erlangen, sind sie weise. Wenn Weise Einsicht erlangen, sind sie gewöhlnliche Menschen.
http://wwwtech.de/
Wenn gewöhnliche Menschen Wissen erlangen, sind sie weise. Wenn Weise Einsicht erlangen, sind sie gewöhlnliche Menschen.
http://wwwtech.de/