Du bist nicht angemeldet.

Lieber Besucher, herzlich willkommen bei: WebStyleBoard. Falls dies dein erster Besuch auf dieser Seite ist, lies bitte die Hilfe durch. Dort wird dir die Bedienung dieser Seite näher erläutert. Darüber hinaus solltest du dich registrieren, um alle Funktionen dieser Seite nutzen zu können. Benutze das Registrierungsformular, um dich zu registrieren oder informiere dich ausführlich über den Registrierungsvorgang. Falls du dich bereits zu einem früheren Zeitpunkt registriert hast, kannst du dich hier anmelden.

1

Dienstag, 3. Februar 2004, 16:45

[PERL] Automatisches erkennen von Links in einem Text

Hi.

Heute ein Perl-Codeschnipsel, mit dem man in einem Code, URLs automatisch erkennen lassen kann und diese umwandlen lassen kann.

PHP-Quelltext

1
2
3
4
5
6
7
8
9
10
11
12
13
14
sub format_url {
# Den übergebenen Text in die Variable $temp_var einlesen
(my $temp_var) = @_;

# 2x versuchen Links zu erkennen. 
# 1. -> [URL]www.mamo-net.de[/URL] (also ohne [URL]http://[/URL] aber mit [URL]www.[/URL])
# 2. -> [URL]http://www.mamo-net.de[/URL] (also mit [URL]http://[/URL])
# target=_blank ist gegen den gewünschten target zu tauschen (2x)
$temp_var =~ s/([^\w"\=\[\]]|[\n\b]|\A)\\*(\w+:\/\/[\w\~\.\;\:\,\$\-\+\!\*\?\/\=\&\@\#\%]+[\w\~\.\;\:\$\-\+\!\*\?\/\=\&\@\#\%])/$1<a href="$2" target=_blank>$2<\/a>/isg;
$temp_var =~ s/([^"\=\[\]\/\:\.]|[\n\b]|\A)\\*(www\.[\w\~\.\;\:\,\$\-\+\!\*\?\/\=\&\@\#\%]+[\w\~\.\;\:\$\-\+\!\*\?\/\=\&\@\#\%])/$1<a href="http:\/\/$2" target=_blank>$2<\/a>/isg;

# Text mit formatierten Links zurückgeben
return $temp_var;
}


PHP-Quelltext

1
2
3
4
5
6
7
8
9
10
11
12
13
14
# Irgend ein Text mit oder ohne URLs.
my $text qq~
Hallo Leutz.<br>
Habe super Seiten entdeckt:<br>
[URL]www.smileyarchiv.net[/URL]<br>
[URL]http://www.mamo8.de[/URL]<br>
[URL]http://webstyleboard.de[/URL]
~;
# Der Text der die sub zurückgibt wird ausgegeben, nachdem an die sub die Variable $text übergeben wurde.
# Alternativ kann man es auch wie folgt handhaben:
# $text = %format_url($text);
# #Irgendwelche Aktionen
# print "BlaBlaBla schrieb: $text<br>Signatur";
print &format_url($text);


Im Anhang ist das Script noch etwas ausführlicher und man sollte die Datei auch nehmen, da dieses Forum den Code wahrscheinlich nicht 1:1 ausgibt.
Datei einfach in xyz.cgi umbenennen und auf den Server laden. CHMOD 755 und im Browser aufrufen. Evtl. muss im Scipt die Perlpfadangabe geändert werden.

MfG MaMo

Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von »MaMo« (3. Februar 2004, 16:47)


Zurzeit ist neben dir 1 Benutzer in diesem Thema unterwegs:

1 Besucher