Hallo, Gast! (Registrieren)

Letzte Ankündigung: MyBB 1.8.38 veröffentlicht (30.04.24)


Benutzer, die gerade dieses Thema anschauen: 1 Gast/Gäste
Links in Beiträgen NICHT in neuem Fenster öffnen?
#1
Hallo zusammen!  Smile

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?
Zitieren
#2
Das geht bei Konfiguration: wo ? KP !
Liebe Grüße.
masariC / TerminoHD
Zitieren
#3
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("#&amp;\#([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("#&amp;\#([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("#&amp;\#([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("#&amp;\#([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
Zitieren
#4
Variante 1 getestet und funktioniert. Ich habe einen Beitrag der auf ein anderes Thema in meinem Forum verweist. Kein neues Fenster. Sehr gut. Danke. Smile

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.
Zitieren
#5
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.
Zitieren
#6
Vielen Lieben Dank an euch beide! Funktioniert wunderbar! Smile
Zitieren
#7
(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))
 
                <.................> 
Zitieren
#8
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!
Zitieren
#9
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!
Zitieren


Möglicherweise verwandte Themen…
Thema Verfasser Antworten Ansichten Letzter Beitrag
  Weisse Seite, wenn sich javascript-Fenster öffnen sollte melancholia 8 2.872 19.09.2014, 13:02
Letzter Beitrag: melancholia
  Link Titel automatisch beziehen & öffnen externer Links in neuem Tab Michael Malin 15 6.768 08.02.2011, 19:25
Letzter Beitrag: sonic1978
Question Verlinkung in neuem Fenster öffnen n00by2k 2 1.954 12.06.2008, 16:20
Letzter Beitrag: n00by2k
  PJIRC Chat in eigene neue fenster öffnen? fredd1e 9 3.845 04.11.2007, 14:55
Letzter Beitrag: fredd1e