kostenloser Webspace werbefrei: lima-city


[PHP] - preg_replace mit eigener Funktion funktioniert nicht richig

lima-cityForumProgrammiersprachenPHP, MySQL & .htaccess

  1. Autor dieses Themas

    dussel

    Kostenloser Webspace von dussel

    dussel hat kostenlosen Webspace.

    Hallo,

    ich bin gerde dabei mein BBCode-System zu erweitern. Es handelt sich jetzt um eine Funktion zum Bilderanzeigen mit einem Thumbnail!

    BBCode-Tag:
    [thumb=http://adresse.des.thumbnails.jpg]http://adresse.des.richtigen.bildes.jpg[/thumb]

    Der Code Schnipsel dazu:

    preg_replace Teil:
    $to_do = preg_replace('#\[thumb=(.*)\](.*)\[/thumb\]#Uis', show_image_thumb("\\1", "\\2"), $to_do);


    Funktion show_image_thumb:
    function show_image_thumb($file1, $file2){
     global $l2;
     if(!$file1) {$file1 = "images/bbcodes/thumb_h.gif"; }
     if(!$file2) {$file2 = $file1; }
    
     $info_file2 = getimagesize($file2);
    
     $to_return = '<a href="javascript:GrafikAnzeigen(\''.$file2.'\', \''.$info_file2[0].'\', \''.$info_file2[1].'\')" title="';
      if($l2 == de) $to_return .= 'Vergr&ouml;&szlig;ern';
      if($l2 == it) $to_return .= 'ingrandire';
     $to_return .= '"><img border="0" alt="" src="'.$file1.'"></a>';
    
     return $to_return;
    }


    Es funktioniert alles soweit, auser, dass
    getimagesize($file2);
    nicht den richtigen Variablen inhalt erh?lt!

    Jedoch hier schon:
    GrafikAnzeigen(\''.$file2.'\', \''.$info_file2[0].'\', \''.$info_file2[1].'\')

    Die Error Message zu getimagesize():

    Warning: getimagesize(\2) [function.getimagesize]: failed to open stream: No such file or directory in [Pfad] on line [Zeile]

    Danke f?r eure Hilfe! Bin f?r jede Hilfe dankbar, auch wenn es nur Denkanst??e sind!

    Kontakt auch vie PN oder ICQ (302924578) m?glich
  2. Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!

    lima-city: Gratis werbefreier Webspace für deine eigene Homepage

  3. Hi,

    ich bin mir nicht ganz sicher, ob das funktioniert, aber versuch mal folgenden preg_replace:
    $to_do = preg_replace('/\[thumb=(.*)\](.*)\[/thumb\]/ie', 'show_image_thumb("\\1", "\\2")', $to_do);


    mfg,
    hr
  4. Autor dieses Themas

    dussel

    Kostenloser Webspace von dussel

    dussel hat kostenlosen Webspace.



    heavyraptor schrieb:
    Hi,

    ich bin mir nicht ganz sicher, ob das funktioniert, aber versuch mal folgenden preg_replace:
    $to_do = preg_replace('/\[thumb=(.*)\](.*)\[/thumb\]/ie', 'show_image_thumb('\\1', '\\2')', $to_do);


    mfg,
    hr


    fnktioniert so leider nicht!

    Habe eine andere m?glichkeit gefunden:

    function show_image_thumb($file){
     global $l2;
     $file1 = $file[1];
     $file2 = $file[2];
     if(!$file1) {$file1 = "images/bbcodes/thumb_h.gif"; }
     if(!$file2) {$file2 = $file1; }
    
     $info_file2 = getimagesize($file2);
    
     $to_return = '<a href="javascript:GrafikAnzeigen(\''.$file2.'\', \''.$info_file2[0].'\', \''.$info_file2[1].'\')" title="';
     if($l2 == de) $to_return .= 'Vergr&ouml;&szlig;ern';
     if($l2 == it) $to_return .= 'ingrandire';
     $to_return .= '"><img border="0" alt="" src="'.$file1.'"></a>';
    
    return $to_return;
    }


    und

    $to_do = preg_replace_callback('#\[thumb=(.*)\](.*)\[/thumb\]#Uis', "show_image_thumb", $to_do);

    und funktioniert super!

    PS: Kann geclosed werden
  5. Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!

    lima-city: Gratis werbefreier Webspace für deine eigene Homepage

Dir gefällt dieses Thema?

Über lima-city

Login zum Webhosting ohne Werbung!