Hallo, Gast! (Registrieren)

Wir wünschen allen Besuchern frohe Ostern!

Letzte Ankündigung: MyBB 1.8.37 veröffentlicht (04.11.23)


Benutzer, die gerade dieses Thema anschauen: 1 Gast/Gäste
Link Titel automatisch beziehen & öffnen externer Links in neuem Tab
#1
Hallo Leute,

ich möchte etwas meine Links anpassen:

1.: Es gibt viele Foren, bei welchen man nur den Link eingeben muss, und dann statt dem Link nicht die Linkadresse angezeigt wird, sondern der Seitenname (title-meta-Tag) automatisch bezogen wurde und dann auch angezeigt wird.

2.: Ich möchte nur externe Links in einem neuem Tab öffnen.

Kennt jemanden eventuell eine gute Lösung?
Zitieren
#2
Es gibt für beides meines Wissens kein Plugin. Musst du selbst schreiben.
Ob es sich um eine externe Seite handelt ist ja schnell ermittelt.

Um an den Titel einer HTML-Seite zu kommen, musst du die Seite komplett auslesen und dann mit eingendeinem REGEXP den Text zwischen den <title>-Tags einlesen.
Vantage-Forum: http://vantage-forum.de/
Zitieren
#3
OK, ich danke dir.
Zitieren
#4
Das geht übringens so:

PHP-Code:
$string file_get_contents('http://www.URL.de/');
preg_match('/<title>(.*)<\/title>/U'$string$hits);
// $hits[1] der String hat nun den Seitentitel der Seite. 
Zitieren
#5
Und wo sollte ich den sowas einbauen?
Zitieren
#6
inc/class_parser.php

Dort wandelt er den [url]-Tag in einen HTML-Link um, dort findest du ihm Quelltext "<a href..."

Der einbau ist etwas kompliziert, ich habe es aber gestern Abend noch geschafft. Probiere erstmal alleine.
Zitieren
#7
Hi, ich habs mir angeschaut.
Jedoch klappt es bei mir nicht.
Kannst du bitte deine class_parser.php hochladen oder deinen Abschnitt hier zeigen?
PHP-Code:
    /**
    * Parses URL MyCode.
    *
    * @param string The URL to link to.
    * @param string The name of the link.
    * @return string The built-up link.
    */
    
function mycode_parse_url($url$name="")
    {
        if(!
preg_match("#^[a-z0-9]+://#i"$url))
        {
            
$url "http://".$url;
        }
        
$fullurl $url;

        
$url str_replace('&amp;''&'$url);
        
$name str_replace('&amp;''&'$name);

        if(!
preg_match("#[a-z0-9]+://#i"$fullurl))
        {
            
$fullurl "http://".$fullurl;
        }
        if(!
$name)
        {
            
$name $url;
        }
        
        
$name str_replace("\'""'"$name);
        
$url str_replace("\'""'"$url);
        
$fullurl str_replace("\'""'"$fullurl);
        
        if(
$name == $url && (!isset($this->options['shorten_urls']) || $this->options['shorten_urls'] != 0))
        {
            if(
my_strlen($url) > 55)
            {
                
$name my_substr($url040)."...".my_substr($url, -10);
            }
        }

        
$name preg_replace("#&amp;\#([0-9]+);#si""&#$1;"$name); // Fix & but allow unicode
        
$link "<a href=\"$fullurl\" target=\"_blank\">$name</a>";
        return 
$link;
    } 
Zitieren
#8
Ich verstehe nicht, wo das Problem ist.

$link = "<a href=\"$fullurl\" target=\"_blank\">$name</a>"

Da ist die richtige Stelle.

Also machst du vor dem Code die Abfrage und ersetzt es dann, sodass der Titel der Seite in $name steht, in der Abfrage muss bei file_get_contents natürlich $fillurl angegeben werden.
Zitieren
#9
Aber das Tool überschreibt dann doch immer den Titel, oder?
Ich möchte das mit dem automatischem Titel aber nur, wenn kein Betreff angegeben wird, und auch bei Links ohne URL-Tag, die MyBB erkennt.
Zitieren
#10
Jetzt verstehe ich Dich nicht.

Der User schreibt angenommen einen Link als BBCode...

https://www.mybb.de/forum/thread-15573.html

Der Code wandelt jetzt https://www.mybb.de/forum/thread-15573.html in "Link Titel automatisch beziehen & öffnen externen Links in neuem Tab" um.
Zitieren


Möglicherweise verwandte Themen…
Thema Verfasser Antworten Ansichten Letzter Beitrag
  Links in Beiträgen NICHT in neuem Fenster öffnen? lantis 8 2.354 31.05.2015, 22:40
Letzter Beitrag: hkkp
  Bestimmte Worte mit Link versehen ( automatisch ) das_seppl 2 1.585 12.09.2013, 20:58
Letzter Beitrag: RedParkz
  Im Beitrag Link öffnen klappt nicht! Licht 4 1.473 17.03.2013, 18:21
Letzter Beitrag: Licht
  [geteilt] "Forum ist ein Externer Link" Frage Torie 13 5.842 17.09.2012, 08:13
Letzter Beitrag: Torie
  Hinweis, dass ein externer Link aufgerufen wird gmx 1 1.601 03.05.2011, 18:59
Letzter Beitrag: NetHunter