Verfasst: 10.01.2006 13:59
*erledigt war ein Fehler beim kopieren*
Natheedo
Natheedo
phpBB.de - Die deutsche phpBB-Community
https://www.phpbb.de/community/
du brauchst da lediglich in meiner vorgeschlagenen Änderung die beiden regulären Ausdrücke durch die von rlink ersetzen (Achtung die kommen jeweils mehr als einmal vor):Highwayman hat geschrieben:Bei deinem Code habe ich ein kleinbers Problem mit den rlink
Hier ist der rlink bereits am hantieren. kannst du da für uns mit rlink was machen?
Code: Alles auswählen
$ret = preg_replace("#(^|[\n ])([\w]+?://[\w\#$%&~/.\-;:=,?@\[\]+]*)#is", "\\1<a href="\\2" target="_blank">\\2</a>", $ret);
Code: Alles auswählen
$ret = preg_replace("#(^|[\n ])([\w]+?://[^ "\n\r\t<]*)#is", "\\1<a href="http://www.deinforum.ch/phpBB2/rlink/rlink.php?url=\\2" target="_blank">\\2</a>", $ret);
Code: Alles auswählen
$ret = preg_replace("#(^|[\n ])((www|ftp)\.[\w\#$%&~/.\-;:=,?@\[\]+]*)#is", "\\1<a href="http://\\2" target="_blank">\\2</a>", $ret);
Code: Alles auswählen
$ret = preg_replace("#(^|[\n ])((www|ftp)\.[^ "\t\n\r<]*)#is", "\\1<a href="http://www.deinforum.ch/phpBB2/rlink/rlink.php?url=http://\\2" target="_blank">\\2</a>", $ret);
Code: Alles auswählen
#
#-----[ OPEN ]------------------------------------------
#
includes/bbcode.php
#
#-----[ FIND ]-----
#
function bbencode_second_pass($text, $uid)
{
global $lang, $bbcode_tpl;
#
#-----[ REPLACE WITH ]-----
#
function bbencode_second_pass($text, $uid)
{
global $lang, $bbcode_tpl, $userdata;
#
#-----[ FIND ]-----
#
// matches a [url]xxxx://www.phpbb.com[/url] code..
$patterns[] = "#\[url\]([\w]+?://[\w\#$%&~/.\-;:=,?@\[\]+]*?)\[/url\]#is";
$replacements[] = $bbcode_tpl['url1'];
// [url]www.phpbb.com[/url] code.. (no xxxx:// prefix).
$patterns[] = "#\[url\]((www|ftp)\.[\w\#$%&~/.\-;:=,?@\[\]+]*?)\[/url\]#is";
$replacements[] = $bbcode_tpl['url2'];
// [url=xxxx://www.phpbb.com]phpBB[/url] code..
$patterns[] = "#\[url=([\w]+?://[\w\#$%&~/.\-;:=,?@\[\]+]*?)\]([^?\n\r\t].*?)\[/url\]#is";
$replacements[] = $bbcode_tpl['url3'];
// [url=www.phpbb.com]phpBB[/url] code.. (no xxxx:// prefix).
$patterns[] = "#\[url=((www|ftp)\.[\w\#$%&~/.\-;:=,?@\[\]+]*?)\]([^?\n\r\t].*?)\[/url\]#is";
$replacements[] = $bbcode_tpl['url4'];
// [email]user@domain.tld[/email] code..
$patterns[] = "#\[email\]([a-z0-9&\-_.]+?@[\w\-]+\.([\w\-\.]+\.)?[\w]+)\[/email\]#si";
$replacements[] = $bbcode_tpl['email'];
#
#-----[ REPLACE WITH ]-----
#
// matches a [url]xxxx://www.phpbb.com[/url] code..
$patterns[] = "#\[url\]([\w]+?://[\w\#$%&~/.\-;:=,?@\[\]+]*?)\[/url\]#is";
if (!$userdata['session_logged_in'] )
{
$replacements[] = $lang['BBCode_NO_LINK'];
}
else
{
$replacements[] = $bbcode_tpl['url1'];
}
// [url]www.phpbb.com[/url] code.. (no xxxx:// prefix).
$patterns[] = "#\[url\]((www|ftp)\.[\w\#$%&~/.\-;:=,?@\[\]+]*?)\[/url\]#is";
if (!$userdata['session_logged_in'] )
{
$replacements[] = $lang['BBCode_NO_LINK'];
}
else
{
$replacements[] = $bbcode_tpl['url2'];
}
// [url=xxxx://www.phpbb.com]phpBB[/url] code..
$patterns[] = "#\[url=([\w]+?://[\w\#$%&~/.\-;:=,?@\[\]+]*?)\]([^?\n\r\t].*?)\[/url\]#is";
if (!$userdata['session_logged_in'] )
{
$replacements[] = $lang['BBCode_NO_LINK'];
}
else
{
$replacements[] = $bbcode_tpl['url3'];
}
// [url=www.phpbb.com]phpBB[/url] code.. (no xxxx:// prefix).
$patterns[] = "#\[url=((www|ftp)\.[\w\#$%&~/.\-;:=,?@\[\]+]*?)\]([^?\n\r\t].*?)\[/url\]#is";
if (!$userdata['session_logged_in'] )
{
$replacements[] = $lang['BBCode_NO_LINK'];
}
else
{
$replacements[] = $bbcode_tpl['url4'];
}
// [email]user@domain.tld[/email] code..
$patterns[] = "#\[email\]([a-z0-9&\-_.]+?@[\w\-]+\.([\w\-\.]+\.)?[\w]+)\[/email\]#si";
if (!$userdata['session_logged_in'] )
{
$replacements[] = $lang['BBCode_NO_EMailLink'];
}
else
{
$replacements[] = $bbcode_tpl['email'];
}
#
#-----[ FIND ]------------------------------------------
#
function make_clickable($text)
{
#
#-----[ ADD AFTER ]------------------------------------------
#
global $lang, $userdata;
#
#-----[ FIND ]-----
#
$ret = preg_replace("#(^|[\n ])([a-z0-9&\-_.]+?)@([\w\-]+\.([\w\-\.]+\.)*[\w]+)#i", "\\1<a
href=\"mailto:\\2@\\3\">\\2@\\3</a>", $ret);
#
#-----[ REPLACE WITH ]-----
#
if (!$userdata['session_logged_in'] )
{
$ret = preg_replace("#(^|[\n ])([a-z0-9&\-_.]+?)@([\w\-]+\.([\w\-\.]+\.)*[\w]+)#i", "\\1".$bbcode_tpl['email'], $ret);
}
else
{
$ret = preg_replace("#(^|[\n ])([a-z0-9&\-_.]+?)@([\w\-]+\.([\w\-\.]+\.)*[\w]+)#i", "\\1<a
href=\"mailto:\\2@\\3\">\\2@\\3</a>", $ret);
}
#
#-----[ FIND ]-----
#
$ret = preg_replace("#(^|[\n ])([\w]+?://[\w\#$%&~/.\-;:=,?@\[\]+]*)#is", "\\1<a href=\"\\2\" target=\"_blank\">\\2</a>",
$ret);
#
#-----[ REPLACE WITH ]-----
#
if (!$userdata['session_logged_in'] )
{
$ret = preg_replace("#(^|[\n ])([\w]+?://[\w\#$%&~/.\-;:=,?@\[\]+]*)#is", "\\1".$lang['BBCode_NO_LINK'], $ret);
}
else
{
$ret = preg_replace("#(^|[\n ])([\w]+?://[\w\#$%&~/.\-;:=,?@\[\]+]*)#is", "\\1<a href=\"\\2\"
target=\"_blank\">\\2</a>", $ret);
}
#
#-----[ FIND ]-----
#
$ret = preg_replace("#(^|[\n ])((www|ftp)\.[\w\#$%&~/.\-;:=,?@\[\]+]*)#is", "\\1<a href=\"http://\\2\"
target=\"_blank\">\\2</a>", $ret);
#
#-----[ REPLACE WITH ]-----
#
if (!$userdata['session_logged_in'] )
{
$ret = preg_replace("#(^|[\n ])((www|ftp)\.[\w\#$%&~/.\-;:=,?@\[\]+]*)#is", "\\1".$lang['BBCode_NO_LINK'], $ret);
}
else
{
$ret = preg_replace("#(^|[\n ])((www|ftp)\.[\w\#$%&~/.\-;:=,?@\[\]+]*)#is", "\\1<a href=\"http://\\2\"
target=\"_blank\">\\2</a>", $ret);
}
#
#-----[ OPEN ]------------------------------------------
#
language/lang_german/lang_main.php
#
#-----[ FIND ]-----
#
?>
#
#-----[ BEFORE, ADD ]-----
#
$lang['BBCode_NO_LINK'] = '[Platzhalter für ein Link]';
$lang['BBCode_NO_EMailLink'] = '[Platzhalter für einen MailTo-Link]';
#
#-----[ SAVE/CLOSE ALL FILES ]------------------------------------------
#
Relativer Pfad tuts aber auch.MagMo hat geschrieben:Das sollte eigentlich schon alles sein. NICHT vergessen http://www.deinforum.ch/phpBB2/rlink/ durch den tatsächlichen Pfad zu ersetzen.
Jetzt wo du es sagst. Da ist mir ein kleiner Fehler unterlaufen.Highwayman hat geschrieben:Bei Emails hab ich allerdings das Problem das für registrierte Benutzer die Emails angezeigt werden, für Gäste jedoch steht gar nix da - So als ob da gar nix gestanden ist. Also der Platzhalter fehlt komplett ... !?!
Code: Alles auswählen
if (!$userdata['session_logged_in'] )
{
$ret = preg_replace("#(^|[\n ])([a-z0-9&\-_.]+?)@([\w\-]+\.([\w\-\.]+\.)*[\w]+)#i", "\\1".$bbcode_tpl['email'], $ret);
}
Code: Alles auswählen
if (!$userdata['session_logged_in'] )
{
$ret = preg_replace("#(^|[\n ])([a-z0-9&\-_.]+?)@([\w\-]+\.([\w\-\.]+\.)*[\w]+)#i", "\\1".$lang['BBCode_NO_EMailLink'], $ret);
}
Stimmt. Ich habe allerdings einfach den Code aus der Installationsanleitung von rlink via Copy&Past übernommen. Ob absolut oder relativ ist Geschmacksache, oder in diesem Fall Faulheit.easygo hat geschrieben:Relativer Pfad tuts aber auch.easy