Schrift
Wiki:Tipp zum Debugging: use Data::Dumper; local $Data::Dumper::Useqq = 1; print Dumper \@var;
[thread]8610[/thread]

Nachträglich Link einfügen - aber wie?



<< >> 5 Einträge, 1 Seite
rk-ger
 2006-12-30 00:25
#72797 #72797
User since
2006-08-07
45 Artikel
BenutzerIn
[default_avatar]
Ich muss in HTML Code nachträglich einen Link einfügen. Aus
Code: (dl )
1
2
3
4
5
<th>cuno</th><th>date</th>
<tr><td>524177</td><td>08.12.2006</td></tr>
<tr><td>529752</td><td>12.12.2006</td></tr>
<tr><td>539399</td><td>13.12.2006</td></tr>
<tr><td>546446</td><td>15.12.2006</td></tr>

soll
Code: (dl )
1
2
3
4
5
<th>cuno</th><th>date</th>
<tr><td><a href="http://www.domain.xy/script.pl?action=run;cuno=524177" target="_blank">524177</a></td><td>08.12.2006</td></tr>
<tr><td><a href="http://www.domain.xy/script.pl?action=run;cuno=529752" target="_blank">529752</a></td><td>12.12.2006</td></tr>
<tr><td><a href="http://www.domain.xy/script.pl?action=run;cuno=539399" target="_blank">539399</a></td><td>13.12.2006</td></tr>
<tr><td><a href="http://www.domain.xy/script.pl?action=run;cuno=546446" target="_blank">546446</a></td><td>15.12.2006</td></tr>

werden.

Ich glaube, dass es mit einem regex funktioniert; ungefähr so
Code: (dl )
$var =~ tr#<td>(\d{6})<\/td>#<td><a href="http:\/\/www.domain.xy\/script.pl?action=run;cuno=$1" target="_blank">$1<\/a><\/td>#x;

aber leider mache ich da wohl einen Fehler. Ich finde ihn nur leider nicht. Was mache ich falsch?
PerlProfi
 2006-12-30 00:37
#72798 #72798
User since
2006-11-29
340 Artikel
BenutzerIn
[default_avatar]
Du benutzt tr///, was du eigentlich möchtest ist aber s///.

tr/// ersetzt alle Zeichen des ersten Teils, durch das jeweilige des anderen.

Beispiel:
Code: (dl )
1
2
$var = "Affe, Baum, Chili";
$var =~ tr/ABC/XYZ/;

jetzt würde in $var Xffe, Yaum, Zhilli stehen.

MfG PerlProfi
rk-ger
 2006-12-30 00:50
#72799 #72799
User since
2006-08-07
45 Artikel
BenutzerIn
[default_avatar]
Yepp, Du hast recht. Ich habe es jetzt so gemacht:
Code: (dl )
$var1 =~ s!(.*)(<td>)(\d{6})(<\/td>)(.*)!$1$2<a href="http://www.domain.xy/script.pl?action=run;cuno=$3" target="_blank">$3</a>$4$5!;


Das sieht irgendwie unelegant aus, aber es funktioniert. Ginge das eventuell noch hübscher?
topeg
 2006-12-30 06:23
#72800 #72800
User since
2006-07-10
2611 Artikel
BenutzerIn

user image
ungetestet...
Code: (dl )
$var1 =~ s!(?<=<td>)(\d{6})(?=</td>)!<a href="http://www.domain.xy/script.pl?action=run;cuno=$1" target="_blank">$1</a>!;
PerlProfi
 2006-12-30 13:59
#72801 #72801
User since
2006-11-29
340 Artikel
BenutzerIn
[default_avatar]
Eigentlich hättest du an deinem ersten Versuch nur tr in s ändern müssen...
Jedenfalls sehe ich nicht wieso das sonst noch verändert werden müsste.

MfG PerlProfi
<< >> 5 Einträge, 1 Seite



View all threads created 2006-12-30 00:25.