kostenloser Webspace werbefrei: lima-city


Problem mit Funktion

lima-cityForumProgrammiersprachenPHP, MySQL & .htaccess

  1. Autor dieses Themas

    n********r

    Hi,

    ich habe einen Beitrag, der bevor er ausgeben wird durch zwei Funktionen laufen muss.
    Einmal die Smilies und einmal die BBCODES.
    Bei den Smilies klappt alles richtig. Er ersetzt die Smilieszeichen durch die Smilies.
    Aber bei den BBCodes passiert gar nichts:

    Functionsaufruf:

    include("function/function/bbcodes.php");
    $beitrag = bbcode ( $beitrag );


    Funktion:

    <?php
    function bbcode ($bbcode) {
    
        $muster[] = "/\[b\](.*)\[\/b\]/Ui";
        $ersetzen[] = '<b>\1</b>';
    
        $muster[] = "/\[u\](.*)\[\/u\]/Ui";
        $ersetzen[] = '<u>\1</u>';
    
        $muster[] = "/\[i\](.*)\[\/i\]/Ui";
        $ersetzen[] = '<i>\1</i>';
    
        $muster[] = "/\[h1\](.*)\[\/h1\]/Ui";
        $ersetzen[] = '<h1>\1</h1>';
    
        $muster[] = "/\[h2\](.*)\[\/h2\]/Ui";
        $ersetzen[] = '<h2>\1</h2>';
    
        $muster[] = "/\[h3\](.*)\[\/h3\]/Ui";
        $ersetzen[] = '<h3>\1</h3>';
    
        $muster[] = "/\[h4\](.*)\[\/h4\]/Ui";
        $ersetzen[] = '<h4>\1</h4>';
    
        $muster[] = "/\[h5\](.*)\[\/h5\]/Ui";
        $ersetzen[] = '<h5>\1</h5>';
    
        $muster[] = "/\[h6\](.*)\[\/h6\]/Ui";
        $ersetzen[] = '<h6>\1</h6>';
    
        $muster[] = "/\[quote\](.*)\[\/quote\]/Ui";
        $ersetzen[] = '<div id="quote">Zitat: <br \>\1</div>';
    
        $muster[] = '/\[url=(.*)\](.*)\[\/url\]/Ui';
        $ersetzen[] = '<b><a class="small" href="\1" target="_blank">\2</a></b>';
    
        $muster[] = "/\[url\](.*)\[\/url\]/Ui";
        $ersetzen[] = '<b><a class="small" href="\1" target="_blank">\1</a></b>';
    
        $muster[] = "/\[img\](.*)\[\/img\]/Ui";
        $ersetzen[] = '<img src="\1" border="0" width="250px" height="250px" />';
    
        $muster[] = "/\[li\](.*)\[\/li\]/Ui";
        $ersetzen[] = '<li>1</li>';
    
        $muster[] = "/\[ul\](.*)\[\/ul\]/Ui";
        $ersetzen[] = '<ul>1</ul>';
    
        $muster[] = "/\[php\](.*?)\[\/php\]/Ui";
        $ersetzen[] = '<blockquote><div class="pre">PHP-Code:<br>\1<hr noshade></div></blockquote>';
    
        $muster[] = "/\[code\](.*)\[\/code\]/Ui";
        $ersetzen[] = '<blockquote><div class="pre">Code:<br>\1<hr noshade></div></blockquote>';
    
        $muster[] = "/\[pre\](.*)\[\/pre\]/Ui";
        $ersetzen[] = '<div class="pre">\1</div>';
    
        $bbcode = eregi_replace ("http://www.", "www.", $bbcode);
        $bbcode = eregi_replace ("www.", "http://www.", $bbcode);
        $bbcode = preg_replace ($muster, $ersetzen, $bbcode);
        $bbcode = preg_replace ("#(^|[^\"=]{1})(http://|ftp://|mailto:|https://)([^\s<>]+)([\s\n<>]|$)#sm","\\1<a target=\"_blank\" href=\"\\2\\3\">\\3</a>\\4",$bbcode);
        $bbcode = nl2br ($bbcode);
        
      return $bbcode; // das ganze zur?ckgeben
    }
    
    ?>


    Beitrag ge?ndert am 2.12.2005 06:47 von newwarrior
  2. Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!

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

  3. Also mein Script funktioniert eingetlich.
    Der Fehler liegt wahrscheinlich beim Aufruf etc.
    Was soll denn eingetlich rauskommen und was kommt raus und welchen Input gibst du?

    MfG Lucas
  4. Autor dieses Themas

    n********r

    Also folgender Text steht in der DB ohne Leerzeichen:

    [ b]Hallo, wie geht es euch?[ /b]

    Aber das Aufrufen der Funkion klappt auch so in meinem Message Center nur jetzt nicht?
    Warum nicht?
  5. k**********e

    wie behandelst du den eintrag beim eintragen in die datenbank? addslashes? ist magig_qute_gpc auf 1?

    mach mal var_dump() auf das ergebniss aus der datenbank und poste es bitte
  6. Autor dieses Themas

    n********r

    So ich habe jetzt ein weiteres Probelm.
    Ich bekomem folgende Meldung:

    Fatal error: Cannot redeclare smilies() (previously declared in D:\Webdesign\xampp\htdocs\forum\function\function\smilies.php:2) in D:\Webdesign\xampp\htdocs\forum\function\function\smilies.php on line 35

    Wenn ich diesen Teil des Codes mti in die For Schleife einbaue:

    PHP:
    include("function/function/bbcodes.php");
    $beitrag[$i] = bbcode ( $beitrag[$i] );
                   
    include("function/function/smilies.php");
    $beitrag[$i] = smilies ( $beitrag[$i] );


    Aber ich wei? nicht warum?


    Bei dem var_dump():

    string(126) "Hi, ich habe ein kleines Problem mit meinem Forum, vielleicht kann mir ja einer von euch helfen? Danke :love: " string(125) "Hi Malte, vielleicht k?nntest du dein Problem ein bisschen besser beschreiben? Dann k?nnten wir dir auch helfen. Danke"

    Beitrag ge?ndert am 2.12.2005 14:15 von newwarrior

    Beitrag ge?ndert am 2.12.2005 14:17 von newwarrior
  7. k**********e

    aus include mach include_once.

    denn sonst sieht nach der schlefe frei ?bersetzt so aus:
    function smilies($var)
    {
    //bla bla
    }

    $nachricht1 = smilies($nachricht1);

    function smilies($var)
    {
    //bla bla
    }

    $nachricht2 = smilies($nachricht2);
  8. Autor dieses Themas

    n********r

    Danke, jetzt geht es aber immer noch nicht mit den BBCodes.
    Kannst du mri vielleicht auch dort helfen?
  9. k**********e

    war der var_dump orginal auf die
    frisch unbehandelte variable aus
    der datenbank?
  10. Autor dieses Themas

    n********r

    Ja hier mal der Link:

    http://newwarrior.milten.lima-city.de/forum/posts.php?forum_id=1&thread_id=1
  11. 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!