Beiträge: 30
Themen: 9
Registriert seit: 12.12.2014
Hallo zusammen!
Ich würde es gerne realisieren das sich Links, die man in Beiträgen verlinkt, NICHT in einem neuen Fenster öffnen. Wisst ihr wie und wo das geändert werden muss?
Beiträge: 50
Themen: 6
Registriert seit: 12.09.2014
Das geht bei Konfiguration: wo ? KP !
Liebe Grüße.
masariC / TerminoHD
Beiträge: 1.401
Themen: 25
Registriert seit: 11.10.2013
MyBB-Version: 1.8.*
16.12.2014, 14:54
(Dieser Beitrag wurde zuletzt bearbeitet: 16.12.2014, 14:55 von SvePu.)
In der Konfiguration kann man das leider nicht realisieren.
Um dein Vorhaben umzusetzen, müsstest du die Core-Datei " /inc/class_parser.php" bearbeiten.
Dabei gibt es zwei Varianten:
Variante 1. Alle Links im gleichen Fenster/Tab öffnen.
suche in class_parser.php (#1061)
PHP-Code: // Fix some entities in URLs $entities = array('$' => '%24', '$' => '%24', '^' => '%5E', '`' => '%60', '[' => '%5B', ']' => '%5D', '{' => '%7B', '}' => '%7D', '"' => '%22', '<' => '%3C', '>' => '%3E', ' ' => '%20'); $fullurl = str_replace(array_keys($entities), array_values($entities), $fullurl);
$name = preg_replace("#&\#([0-9]+);#si", "&#$1;", $name); // Fix & but allow unicode $link = "<a href=\"$fullurl\" target=\"_blank\"{$nofollow}>$name</a>"; return $link;
ersetze alles durch:
PHP-Code: // Fix some entities in URLs $entities = array('$' => '%24', '$' => '%24', '^' => '%5E', '`' => '%60', '[' => '%5B', ']' => '%5D', '{' => '%7B', '}' => '%7D', '"' => '%22', '<' => '%3C', '>' => '%3E', ' ' => '%20'); $fullurl = str_replace(array_keys($entities), array_values($entities), $fullurl);
$name = preg_replace("#&\#([0-9]+);#si", "&#$1;", $name); // Fix & but allow unicode $link = "<a href=\"$fullurl\"{$nofollow}>$name</a>"; return $link;
-------------------
Variante 2 (mein Favorit) : Interne Links im gleichen Fenster/Tab öffnen - externe weiterhin im neuen Fenster/Tab aufrufen.
suche in class_parser.php (#1061)
PHP-Code: // Fix some entities in URLs $entities = array('$' => '%24', '$' => '%24', '^' => '%5E', '`' => '%60', '[' => '%5B', ']' => '%5D', '{' => '%7B', '}' => '%7D', '"' => '%22', '<' => '%3C', '>' => '%3E', ' ' => '%20'); $fullurl = str_replace(array_keys($entities), array_values($entities), $fullurl);
$name = preg_replace("#&\#([0-9]+);#si", "&#$1;", $name); // Fix & but allow unicode $link = "<a href=\"$fullurl\" target=\"_blank\"{$nofollow}>$name</a>"; return $link;
ersetze alles durch:
PHP-Code: // Fix some entities in URLs $entities = array('$' => '%24', '$' => '%24', '^' => '%5E', '`' => '%60', '[' => '%5B', ']' => '%5D', '{' => '%7B', '}' => '%7D', '"' => '%22', '<' => '%3C', '>' => '%3E', ' ' => '%20'); $fullurl = str_replace(array_keys($entities), array_values($entities), $fullurl);
$name = preg_replace("#&\#([0-9]+);#si", "&#$1;", $name); // Fix & but allow unicode if(strpos($fullurl, $mybb->settings['bburl']) !== false) { $link = "<a href=\"$fullurl\"{$nofollow}>$name</a>"; } else { $link = "<a href=\"$fullurl\" target=\"_blank\"{$nofollow}>$name</a>"; } return $link;
Beiträge: 30
Themen: 9
Registriert seit: 12.12.2014
Variante 1 getestet und funktioniert. Ich habe einen Beitrag der auf ein anderes Thema in meinem Forum verweist. Kein neues Fenster. Sehr gut. Danke.
Variante 2 getestet und funktioniert nicht. Alles bleibt so wie es mit dem alten Code war. Es öffnet sich bei jedem Link, den ich in einem Beitrag verlinke ein neues Fenster, egal ob es Forum- Intern ist, oder nicht.
Entferne ich bei Variante 2 das target=blank , verhält sich wieder alles wie bei Variante 1.
Beiträge: 44
Themen: 1
Registriert seit: 08.12.2014
Ersetze in SvePu's Code
PHP-Code: if(strpos($fullurl, $mybb->settings['bburl']) !== false)
durch
PHP-Code: global $mybb; if(strpos($fullurl, $mybb->settings['bburl']) !== false)
Dann müsste auch Version 2 funktionieren.
Beiträge: 30
Themen: 9
Registriert seit: 12.12.2014
Vielen Lieben Dank an euch beide! Funktioniert wunderbar!
Beiträge: 1.401
Themen: 25
Registriert seit: 11.10.2013
MyBB-Version: 1.8.*
(16.12.2014, 17:03)TheChoosenOne schrieb: Ersetze in SvePu's Code
<..................>
Dann müsste auch Version 2 funktionieren.
Stimmt! - Sorry, hatte ich übersehen - ich hatte das bei mir direkt am Anfang der Funktion eingefügt...
PHP-Code: function mycode_parse_url($url, $name="") { global $mybb; if(!preg_match("#^[a-z0-9]+://#i", $url)) <.................>
Beiträge: 1.734
Themen: 232
Registriert seit: 12.02.2014
MyBB-Version: 1.8.x
der code scheint bei 1.8.5 nicht mehr zu funktionieren. hat jemand einen neuen?
Mit freundlichen Grüßen
Für etwaige Tipps, Vorschläge oder Anleitungen von mir gebe ich keine Gewähr. Die Durchführung erfolgt auf eigene Gefahr!
Beiträge: 1.734
Themen: 232
Registriert seit: 12.02.2014
MyBB-Version: 1.8.x
entwarnung, doch geht anscheinend immer noch.
die anpassung von svepu
PHP-Code: function mycode_parse_url($url, $name="") { global $mybb;
brachte die lösung...
Mit freundlichen Grüßen
Für etwaige Tipps, Vorschläge oder Anleitungen von mir gebe ich keine Gewähr. Die Durchführung erfolgt auf eigene Gefahr!
|