[Funktion] bbcode script

Einklappen
X
 
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

  • [Funktion] bbcode script

    ich hab hier einen netten kleinen Script. Den hab ich irgendwann mal irgendwo raus gezogen.
    allerdings muss ich jezt feststellen das der nicht funzt.

    also: es ist ne kleine BB Code funktion und läuft nicht - kann mir jmd weiter helfen?

    PHP-Code:
    <?php
        
        
    function textFormat($input) {
            
            
    $input htmlspecialchars($input);
            
    $input nl2br($input);

            
    $bbcode = array(
                           
    "/\[b\](.*?)\[\/b\]/si",
                           
    "/\[i\](.*?)\[\/i\]/si",
                           
    "/\[u\](.*?)\[\/u\]/si",
                           
    "/\[url\](.*?)\[\/url\]/si" ,
                           
    "/\[url=(.*?)\](.*?)\[\/url\]/si" ,
                           
    "/\[img\](.*?)\[\/img\]/si",
                           
    "/\[mail\](.*?)\[\/mail\]/si" ,
                           
    "/\[mail=(.*?)\](.*?)\[\/mail\]/si" ,
                           
    "/\[code\](.*?)\[\/code\]/si",
                           
    "/\[zitat\](.*?)\[\/zitat\]/si",
                           
    "/\[center\](.*?)\[\/center\]/si",
                          );

           
    $replace = array(
                           
    "<b>\\1</b>",
                           
    "<i>\\1</i>",
                           
    "<u>\\1</u>",
                           
    "<a target=_blank href=\"\\1\">\\1</a>",
                           
    "<a target=_blank href=\"\\1\">\\2</a>",
                           
    "<img src=\"\\1\" alt=\"\\1\" />",
                           
    "<a href=\"mailto:\\1\">\\1</a>",
                           
    "<a href=\"mailto:\\1\">\\2</a>",
                           
    "<b>code:</b><table class='code'><tr><td>\\1</td></tr></table>",
                           
    "<b>zitat:</b><table class='zitat'><tr><td>\\1</td></tr></table>",
                           
    "<div align='center'>\\1</div>",
                         );

            
    $bbcode_count count($bbcode);

            for (
    $i=0;$i<$bbcode_count;$i++) {
            
    $input preg_replace($bbcode[$i], ''.$replace [$i].''$input);
            }

            return 
    $input;
        }
        
    textFormat($input) ;

    ?>
    nebenbei... weiß jmd etwas ähnlich einfach gestricktes für php?
    also ich meine wie die bbcode php funktion hier...
    Code:
    [PHP]
    Zuletzt geändert von xJonx; 20.03.2006, 07:23.
    Design & Coding with a breeze of madness at xjonx

  • #2
    Eine kurze Form von mir:

    Code:
    <?
    function bbreplace($string)
    {
    
    $string =addslashes(nl2br(strip_tags(trim($string))));
    $string = strip_tags($string);
    
    $string = str_replace("[ b ]","<b>",$string);
    $string = str_replace("[ u ]","<u>",$string);
    $string = str_replace("[ /b ]","</b>",$string);
    $string = str_replace("[ /u ]","</u>",$string);
    $string = str_replace("[ i ]","<i>",$string);
    $string = str_replace("[ /i ]","</i>",$string);
    
    // Smilyeinsatz
    $string = str_replace(":-)","<img src=images/smilies/001.gif>",$string);
    return $string;
    }
    ?>
    Die Leerzeichen bei dem Suchkriteriem müssen noch gelöscht werden. Sind nur da mit der BBCode des Forums nicht anspringt.
    Viel Spaß damit

    MfG
    Bauer

    Kommentar


    • #3
      wo bei deine version das fast wichtigste nicht hat: die link formatierung...
      Design & Coding with a breeze of madness at xjonx

      Kommentar


      • #4
        Linkformatierung sieht wie folgt aus:
        PHP-Code:
        $string preg_replace("/\[url](.*)\[\/url\]/siU","<a href=\"\\1\" target=\"_blank\">\\1</a>",$string);
        $string preg_replace("#\[url=(.*?)\](.*?)\[/url\]#si","<a href=\"\\1\" target=\"_blank\">\\2</a>",$string); 
        MfG
        Bauer

        Kommentar


        • #5
          jetzt noch eins: kannst du mir genau aufschlüssel, was genau du tust?
          weil ich es lieber wirklich genau verstehen möchte - ich würde es gerne
          noch ausarbeiten und um eine php umwandlung erweitern

          macht der eigentlich auch <br> ? kannst du mir sagen wie ich den anbaue?
          Design & Coding with a breeze of madness at xjonx

          Kommentar


          • #6
            lies dir mal folgenden Artikel durch
            http://de.php.net/preg_replace

            Aufgerufen wird die Funktion mit:
            [ URL ]http://test.de[ /URL ]
            oder
            [ URL=http://test.de ]Name[ /URL ]


            MfG
            Bauer

            Kommentar


            • #7
              ok... ich frag einfach mal genauer nach:

              wie setzt sich das zusammen, das steht das nämlich nicht:

              Code:
              <?
              // Was bedeuetet das? --------####------####--------------#----------------------#--------------
              $string = preg_replace("/[url](.*)[/url]/siU","<a href=\"\1\" target=\"_blank\">\1</a>",$string);
              
              // Was bedeuetet das? --------#####-#####------###--------------#----------------------#--------------
              $string = preg_replace("#[url=(.*?)](.*?)[/url]#si","<a href=\"\1\" target=\"_blank\">\2</a>",$string);
              ?>
              Design & Coding with a breeze of madness at xjonx

              Kommentar


              • #8
                kucks dir in deinem editor an, hier wirds scheiße dargestellt!
                Design & Coding with a breeze of madness at xjonx

                Kommentar


                • #9
                  Tschuldigung. Das übliche Problem.
                  Ich hänge dir den Quelltext mal an.

                  MfG
                  Bauer
                  Angehängte Dateien

                  Kommentar


                  • #10
                    ich meine jetzt, was die zahlen und .* und .*? bedeutet...
                    Design & Coding with a breeze of madness at xjonx

                    Kommentar


                    • #11
                      Also eins muss man Bauergiesen ja lassen, klasse ausdauer.

                      das zauberwort heisst wohl: regular expression

                      Schau dir doch mal den link hier an:

                      regular expression mit php

                      da sollte dir geholfen werden.
                      [color=blue]...ich sehe was, was du nicht siehst...und das ist der QUELLTEXT![/color]

                      Kommentar


                      • #12
                        Oder einfach Stichwort Modifikatoren + Synthax

                        Gruss

                        tobi
                        Gutes Tutorial | PHP Manual | MySql Manual | PHP FAQ | Apache | Suchfunktion für eigene Seiten

                        [color=red]"An error does not become truth by reason of multiplied propagation, nor does truth become error because nobody sees it."[/color]
                        Mohandas Karamchand Gandhi (Mahatma Gandhi) (Source)

                        Kommentar


                        • #13
                          wo was wie? immerher damit!!!
                          Design & Coding with a breeze of madness at xjonx

                          Kommentar


                          • #14
                            Also damit du vor lauter Suchen nicht das Augenlicht verlierst hier nochmals direkt verlinkt
                            Modifikatoren und Synthax

                            Gruss

                            tobi

                            p.s. der rtfm Smilie war auch damit verlinkt
                            Gutes Tutorial | PHP Manual | MySql Manual | PHP FAQ | Apache | Suchfunktion für eigene Seiten

                            [color=red]"An error does not become truth by reason of multiplied propagation, nor does truth become error because nobody sees it."[/color]
                            Mohandas Karamchand Gandhi (Mahatma Gandhi) (Source)

                            Kommentar


                            • #15
                              EDIT:
                              Sorry, jetzt habe ich deinen Beitrag versehentlich überschrieben ...

                              Originalbeitrag war etwas in der Art:



                              Meldung "unknown Modifier 'r' in ..." bei

                              preg_replace('/[ url](.*)[/url]/...'
                              Zuletzt geändert von wahsaga; 23.03.2006, 09:26.
                              Design & Coding with a breeze of madness at xjonx

                              Kommentar

                              Lädt...
                              X