BBCode für Bilder Preg_Relace/callback

Cusco

Erfahrenes Mitglied
Hi,

ich versuche gerade den BBCode-Tag img zu ersetzen, nur bekomme ich anscheint nichtmal das ersetzen hin, um dann die Bilder-Funktion per preg_replace_callback einzusetzen.

Beide preg_replace - Funktionen scheitern und ich komme nicht dahinter warum. Orginal war der Code mit dem url-Tag habe dann url durch img ersetzt und nichts geht mehr :(

Die Bilder sollen später mit Länge und Breite und dem Alt und Titletext eingesetzt sein.

Code:
function imgcallback_funktion($inhalt){
    if($file = getimagesize($inhalt[1].$inhalt[2])) {
        if($file[0]>0 and $file[1]>0) {
            return "<img src=\"".$inhalt[1].$inhalt[2]."\" border=\"0\" width=\"".$file[0]."\" height=\"".$file[1]."\" title=\"".$inhalt[2]."\">";
        }
    }

    return "<img src=\"".$inhalt2[1].$inhalt[2]."\" border=\"0\" alt=\"".$inhalt[3]."\" title=\"".$inhalt[3]."\">";
}

function bbcode($ret) {
    $ret = preg_replace("#\[img=([a-z]+?://)([^\]]*)\](.*?)\[/img\]#si",'<a href="\1\2" target="_blank">\3</a>',$ret);
    $ret = preg_replace("#\[img=([^\]]*)\](.*?)\[/img\]#si",'<a href="http://\1" target="_blank">\2</a>',$ret);
return $ret;
}

Edit: Systax sollte also sein [ img=http://www.bild.de/bild.gif]test[ /img] wobei test dann als Alt und Title-Text genommen werden soll. Besser wäre aber wenn die Länge und Breite mit in diesen Tag eingebunden werden könnte, dann brauche ich die callback-funktion nicht mehr. z.B. [ img=http://www.bild.de/bild.gif]320|200|test[ /img] wo 320 die breite, 200 die höhe und 'test' der Text wäre.
 
Zuletzt bearbeitet:
Mann bin ich ein Töpel, habe die ganze Zeit die Falsche Datei hochgeladen und weshalb die Änderungen nicht wirkten :(

jetziger Code:
Code:
$ret = preg_replace("#\[img=([a-z]+?://)([^\]]*)\]([0-9]+?)\|([0-9]+?)\|(.*?)\[/img\]#si",'<img src="\1\2" border="0" width="\3" height="\4" alt="\5" title="\5"/>',$ret);
 
Zurück