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
Fremdverlinkung von Bildern unterbinden
#11
(12.10.2013, 21:33)Jockl schrieb: Das wäre auch machbar, allerdings würden dann die fremd verlinkten Bilder nicht mehr als URL ausgeführt sondern als MyCode dargestellt.

Ach so, ja das stimmt. Dann wäre es vllt besser, nur in der Funktion mycode_parse_img anzusetzen, zB unter:

PHP-Code:
    function mycode_parse_img($url$dimensions=array(), $align='')
    {
        global 
$lang;
        
$url trim($url);
        
$url str_replace("\n"""$url);
        
$url str_replace("\r"""$url); 

einfügen:

PHP-Code:
        $pattern "#http://www.MeineURL.com/(.*?)#isU";
        if(
preg_match($pattern$url))
        { 

und dann am Ende unter:

PHP-Code:
            else
            {
                return 
"<img src=\"{$url}\" border=\"0\" alt=\"{$alt}\"{$css_align} />";
            } 

einfügen:

PHP-Code:
        }
        else
        {
            
$url htmlspecialchars_uni($url);
            return 
"<a href=\"{$url}\" target=\"_blank\">{$url}</a>";
        } 

Dann sollten eigentlich die fremden Bilder ohne sichtbaren MyCode verlinkt werden.
Zitieren
#12
Perfekt Waldo! Ich hatte mich auch schon drangesetzt. Auf den Lösungsweg bin ich nicht gekommen.
Zitieren
#13
Ohne Codeänderung auch bedingt möglich... [img] Tag deaktivieren (in den Foreneinstellungen) und dann eigenen [img] MyCode.

Code:
\[img\]http://localhost/(.*?)\[/img\] zu <img src="http://localhost/$1" />, parse order 1
\[img\](.*?)\[/img\] zu <a href="$1">$1</a>, parse order 2

Durch die parse order des MyCodes kommen die lokalen Images zuerst dran, alle anderen werden dann durch Links ersetzt.

Dadurch verliert man allerdings erstmal die zusätzlichen Features des img-Tags, man kann ja auch eine Größe usw. angeben mit [img=...]. Auf der anderen Seite nutzt das kaum jemand.

Der MyCode hat auch leichtes Mißbrauchspotential, da MyBB selbst die Links ja in einer verkürzten Fassung schreibt wenn sie zu lang sind (mit http://der...link ), kann dieser MyCode für ungekürzte Links genommen werden... da müsste man etwas tricksen um aus der RegExp auch einen kürzeren Teilstring herauszubekommen...

Vielleicht so (ungetestet) in der Art um den Link auf 32 Zeichen zu kürzen...

Code:
\[img\]([^\[]{32})?(.*?)\[/img\] zu <a href="$1$2">Bild: $1...</a>
Zitieren
#14
Hallo zusammen,

ich danke Euch ganz sakrisch für Eure Unterstützung!!!! Smile

Sowohl waldos, als auch frostschutz' Vorschläge führen zum Ziel. Ich habe mich aber für waldos Anpassung der class_parser.php entschieden, auch wenn das bei jedem Update wieder eine Anpassung notwendig macht. Der Lösungsvorschlag von frostschutz wäre hier einfacher umzusetzen, zeigt aber den bereits erwähnten Nachteil, dass die zusätzlichen Features des img-Tags nicht mehr genutzt werden können. Es stimmt zwar, dass diese kaum genutzt werden, aber ich nutze sie gerne. Wink

Die o.a. Zeilen
PHP-Code:
}
else
{
   
$url htmlspecialchars_uni($url);
   return 
"<a href=\"{$url}\" target=\"_blank\">{$url}</a>";

habe ich noch durch folgende ersetzt
PHP-Code:
}
else
{
   
$url htmlspecialchars_uni($url);
   
$name $url;
   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);
     }
   }
   return 
"<a href=\"{$url}\" target=\"_blank\">{$name}</a>";

Dadurch wird noch der Name des a-Tags entsprechend gekürzt.

Danke Euch allen! Smile
viele Grüße
Jockl
übersetzte und eigene Plugins
Zitieren


Möglicherweise verwandte Themen…
Thema Verfasser Antworten Ansichten Letzter Beitrag
  Thread anzeige per Hook unterbinden? baeckerman83 5 2.234 09.09.2015, 13:11
Letzter Beitrag: baeckerman83
  FancyZoom bei allen Bildern Abys 2 1.672 26.04.2015, 00:48
Letzter Beitrag: MrBrechreiz
  anonymen Foren-Login unterbinden Manni 2 1.666 16.01.2010, 14:32
Letzter Beitrag: Manni
  Inventory Shop - 1.1.0 RC2 by Ryan Ashbrook - mit Bildern!? sleepoholic 0 1.346 17.11.2007, 22:26
Letzter Beitrag: sleepoholic
  [Gelöst]Eigene Antwort unterbinden Jan 22 8.684 01.04.2006, 12:43
Letzter Beitrag: Garlant