Bilder verstecken - ausgenommen Gifs

  • Hallo allerseits,

    Ich nutze in meinem MyBB Forum ein Plugin, das Bilder mit img-BBCodes und HTML-Codes vor Gästen versteckt. Leider sind davon aktuell auch die Smileys betroffen und sie werden mit einem Platzhaltertext "Gäste können keine Bilder sehen" ersetzt, was sehr unschön aussieht.

    Mir wurde jetzt empfohlen, folgende Stelle im Plugin so abzuändern, dass Gif-Bilder von dieser Regel ausgenommen sind:

    PHP
    $message = preg_replace("/<img.+?\>/i", "{$mybb->settings['hideimg_message']}", $message);

    Da ich aber ein absoluter PHP-Neuling bin, wollte ich mich mal erkundigen, ob das überhaupt möglich ist und wenn ja: ob mir vielleicht jemand einen Schubs in die richtige Richtung geben kann, mit welchem Ansatz ich es versuchen könnte?

    Es handelt sich um dieses Plugin. Ich kopiere aber gerne noch weitere Stellen aus dem Code, falls die o.g. nicht ausreicht.

    Ich bin für jeden Tipp dankbar :)

    LG

    • Offizieller Beitrag

    Hallo,

    Eine Variante auf die Schnelle wäre das Pattern anzupassen:

    Code
    (<img.+\.(jpg|png).+\>)

    !ungetestet!

    Um auf Nummer sicher zu gehen, würde ich allerdings eher zu einer Filterung tendieren:

    !ebenfalls ungetestet!

  • Ich habe es direkt mit der 2. Lösung versucht, weil du geschrieben hast "um auf Nummer sicher zu gehen" und das hat wunderbar funktioniert. Vielen lieben Dank für die schnelle Hilfe!

    • Offizieller Beitrag

    Hallo,

    Du müsstest vor dem IF bitte noch ein initiales

    PHP
    $aImages = [];


    durchführen, da es ansonsten bei Biträgen ohne bild zu einer Warnung kommen müsste.

    ach so, falls Du PHP unter Version 5.6 ( glaube ich ) verwendest, musst Du das verwenden:

    PHP
    $aImages = array();