Seite 1 von 2
Link automatisch durch Grafik ersetzen
Verfasst: 18.01.2006 23:31
von michi-w.
Hallo,
gibt es eine Möglichkeit, das wenn ein Link gepostet wird, das dieser automatisch durch eine Grafik ersetzt wird, der Link aber weiterhin seine Funktion behält.
Ich möchte es also nicht unterbinden, das ein Link gepostet wird, sondern das statt des Links eine Grafik erscheint.
Gruß
michi-w.
Verfasst: 19.01.2006 07:42
von Max
Ja, kann man, dann sind aber immer alle Links durch das Bild ersetzt!
Ich habe mal eben eine kleine Anleitung gebastelt.
Code: Alles auswählen
Öffne
includes/bbcode.php
suche:
// matches an "xxxx://yyyy" URL at the start of a line, or after a space.
// xxxx can only be alpha characters.
// yyyy is anything up to the first space, newline, comma, double quote or <
$ret = preg_replace("#(^|[\n ])([\w]+?://[\w\#$%&~/.\-;:=,?@\[\]+]*)#is", "\\1<a href=\"\\2\" target=\"_blank\">\\2</a>", $ret);
ersetze mit:
// matches an "xxxx://yyyy" URL at the start of a line, or after a space.
// xxxx can only be alpha characters.
// yyyy is anything up to the first space, newline, comma, double quote or <
$ret = preg_replace("#(^|[\n ])([\w]+?://[\w\#$%&~/.\-;:=,?@\[\]+]*)#is", "\\1<a href=\"\\2\" target=\"_blank\"><img src=\"images/link.gif\" border=0 alt=\"Go to \\2\" title=\"Go to \\2\"></a>", $ret);
suche:
// matches a "www|ftp.xxxx.yyyy[/zzzz]" kinda lazy URL thing
// Must contain at least 2 dots. xxxx contains either alphanum, or "-"
// zzzz is optional.. will contain everything up to the first space, newline,
// comma, double quote or <.
$ret = preg_replace("#(^|[\n ])((www|ftp)\.[\w\#$%&~/.\-;:=,?@\[\]+]*)#is", "\\1<a href=\"http://\\2\" target=\"_blank\">\\2</a>", $ret);
ersetze mit:
// matches a "www|ftp.xxxx.yyyy[/zzzz]" kinda lazy URL thing
// Must contain at least 2 dots. xxxx contains either alphanum, or "-"
// zzzz is optional.. will contain everything up to the first space, newline,
// comma, double quote or <.
$ret = preg_replace("#(^|[\n ])((www|ftp)\.[\w\#$%&~/.\-;:=,?@\[\]+]*)#is", "\\1<a href=\"http://\\2\" target=\"_blank\"><img src=\"images/link.gif\" border=0 alt=\"Go to \\2\" title=\"Go to \\2\"></a>", $ret);
Nun sind alle Links, die OHNE [url]-BBcode gepostet werden automatisch durch ein Bild ersetzt.
Wenn immer ALLE Links durch das Bild ersetzt werden sollen, dann muss auch noch Folgendes gemacht werden:
öffne:
templates/DEIN TEMPLATE/bbcode.tpl
suche:
<!-- BEGIN url --><a href="{URL}" target="_blank" class="postlink">{DESCRIPTION}</a><!-- END url -->
ersetze mit:
<!-- BEGIN url --><a href="{URL}" target="_blank" class="postlink"><img src="images/link.gif" border=0 alt="{DESCRIPTION}" title="{DESCRIPTION}"></a><!-- END url -->
Nun muss nur noch ein Bild namens link.gif in den Ordner images geladen werden.
Gruß Max
Verfasst: 19.01.2006 11:27
von michi-w.
Genial, vielen Dank!
Kleine Nachfrage:
Könnte man Links in der Signatur rausnehmen, also das die nicht durch die Grafik ersetzt werden?
Verfasst: 19.01.2006 11:56
von Max
hmmm, wüste nicht wie.
Alternativ kannst Du das aus der bbcode.tpl rauslassen, so sind Links, die mit den [URL]-Tags gesetzt werden dann entsprechend dargestellt.
Oder aber via HTML; erlauben und dann in den Signaturen Links mittels HTML einsetzen.
Das Erste sollte klappen, wirkt sich dann aber auch auf Beiträge aus.
Das Zweite ist so eine Sache, 1. nicht getestet, weil ich HTML immer deaktiviert habe und 2. weiß ich garnicht, ob HTML in Siganturen klappt.
Gruß Max
Verfasst: 19.01.2006 21:33
von michi-w.
Hallo Max!
Schade, aber vielleicht würde ein anderer Lösungsansatz weiterhelfen.
Zunächst
a)
Bei jedem externen Link wird eine Seite zwischen geschaltet. "Sie verlassen nun das Angebot von Mein-Forum.de - Für die Inhalte der Seite übernehmen wir keine Haftung" Nach x Sekunden wird dann die eigentlich Seite geladen.
und wenn möglich
b)
Bei überlangen Links wird das Seitenlayout gesprengt, daher wäre es schön, wenn diese gekürzt dargestellt werden.
Beispiel: http://www.seite.de....ziel.html.
Der Link sollte dadurch aber seine Funktion nicht verlieren, nur die Darstellung im Thread sollte sich verändern.
Irgendwo habe ich das auch schon gesehen, aber ich glaube, es war kein phpbb Forum.
Könntest du soetwas basteln?
Gruß
michi-w.
Verfasst: 20.01.2006 06:12
von Max
Das gibt es beides schon
a.) in zwei Lösungswegen; R Link und den anderen Weg habe ich hier mal gepostet, beruhend auf dem Safeurl-MOD habe ich das mit einer eigenen Weiterleitung umgesetzt, allerdings wird dabei auch gleich Deine Seite als Refferer verschleiert
b.) gibt es auch schon, such mal nach " Link kürzen "
Aber; b.) funktioniert nich mit der Sefeurl-Lösung. Den R Link - MOD kenne ich nicht weiter, da weiß ich nicht, wie das zusammenspielt.
Gruß Max
Verfasst: 20.01.2006 16:44
von michi-w.
Könntest du mir die Links zu den Mods geben?
R Link - MOD
Link kürzen
Verfasst: 20.01.2006 18:16
von easygo
Max hat geschrieben:Aber; b.) funktioniert nich mit der Sefeurl-Lösung. Den R Link - MOD kenne ich nicht weiter, da weiß ich nicht, wie das zusammenspielt.
@ Max
RLink stört sich nicht dran und btw die outbound mod von mgutt
vermutlich auch nicht / die edits sind ziemlich identisch. easy
Verfasst: 20.01.2006 18:23
von michi-w.
Könnte ich bitte die Links bekommen.

Verfasst: 20.01.2006 19:05
von Max
@easygo,
ich kannte bis eben den Outbound-MOD nicht, darum sprach ich davon:
http://www.phpbb.de/viewtopic.php?p=556637#556637
Damit hatte ich das nicht so recht mit dem
LinkkürzungsMOD in Griff bekommen, allerdings hatte mich das auch nicht sonderlich gestört.
Nun nutze ich meine Lösung mit der out.php nicht mehr, dafür aber den LinkkürzungsMOD.
Und der Vollständigkeit halber auch noch der Link für
Outbound
Gruß Max