MyBB.de Forum
Link Titel automatisch beziehen & öffnen externer Links in neuem Tab - Druckversion

+- MyBB.de Forum (https://www.mybb.de/forum)
+-- Forum: Anpassungen (https://www.mybb.de/forum/forum-47.html)
+--- Forum: Plugin-Diskussionen (https://www.mybb.de/forum/forum-38.html)
+--- Thema: Link Titel automatisch beziehen & öffnen externer Links in neuem Tab (/thread-15573.html)

Seiten: Seiten: 1 2


Link Titel automatisch beziehen & öffnen externer Links in neuem Tab - Michael Malin - 24.01.2010

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?


RE: Link Titel automatisch beziehen & öffnen externer Links in neuem Tab - Mak - 24.01.2010

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.


RE: Link Titel automatisch beziehen & öffnen externer Links in neuem Tab - Michael Malin - 25.01.2010

OK, ich danke dir.


RE: Link Titel automatisch beziehen & öffnen externer Links in neuem Tab - Boolean - 02.02.2010

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. 



RE: Link Titel automatisch beziehen & öffnen externer Links in neuem Tab - Michael Malin - 03.02.2010

Und wo sollte ich den sowas einbauen?


RE: Link Titel automatisch beziehen & öffnen externer Links in neuem Tab - Boolean - 03.02.2010

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.


RE: Link Titel automatisch beziehen & öffnen externer Links in neuem Tab - Michael Malin - 06.02.2010

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;
    } 



RE: Link Titel automatisch beziehen & öffnen externer Links in neuem Tab - Boolean - 07.02.2010

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.


RE: Link Titel automatisch beziehen & öffnen externer Links in neuem Tab - Michael Malin - 08.02.2010

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.


RE: Link Titel automatisch beziehen & öffnen externer Links in neuem Tab - Boolean - 08.02.2010

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.