[Funktion] <blockquote> zu [quote]

Collapse
X
 
  • Filter
  • Time
  • Show
Clear All
new posts

  • [Funktion] <blockquote> zu [quote]

    Hallo ich sitze und überlege schon die ganze zeit wie ich es realisieren kann!

    Also ich hab ein Forum programmiert und dort möchte ich nun themen oder Beiträge zitieren lassen wenn jemand auf Zitat klickt

    Also der vorhergehende Text steht dann in der textarea drin!

    So und am anfang des Textes den man zitiert sollte das stehen:

    Code:
    [quote="Username von Beitrag des zitats"]Hier der Zitat Text des Beitrages[/quote]
    beim Abschicken dann soll eben der TAG

    Code:
    [quote* [/quote]
    geparst werden in beispiel: <blockquote class="quote"></blockquote>

    Aber ich weiss nicht so wirklich wie ich es anstellen kann!

    Den BBCode von Christian Seiler hab ich auch schon probiert!

    Er macht es dann zwar so:

    Code:
    [quote*Text[/quote]
    aber eben nicht so wie ich es gerne hätte
    Last edited by Lenox; 04-03-2007, 23:25.

  • #2
    ansätze?

    Comment


    • #3
      PHP Code:
      include("./stringparser_bbcode.class.php");

      $bbcode = new StringParser_BBCode ();

      $bbcode->addCode ('quote''simple_replace'null, array ('start_tag' => '<blockquote class="quote">''end_tag' => '</blockquote>'), 'inline', array ('block''inline'), array ());

      $text "Hier der text";

      $message $bbcode->parse ($text); 

      Comment


      • #4
        also hier ist ja eigentlich der ansatz bbcode-klasse zu benutzen...
        was passiert denn?
        Die Milch bleibt ranzig!

        Comment


        • #5
          Na aus $text wird dann

          Code:
          [quote*Hier der Text[/quote]
          Ich meine in der textarea ist es ja so richtig aber wenn ich es abschicke an die datenbank und es auslesen lasse dann erscheint es so wie in der textarea auch!

          Comment


          • #6
            Ich hab das so gemacht.
            In die Datenbank also in die Spalte "text" steht der Text und die Tags [blub][/blub]

            Als Funktion hab ich sowas

            PHP Code:
            function parse($str)

            {

                    
            $str trim($str);

                    
            $str preg_replace('/\S{60}/''\0 '$str);

                    
            $str htmlspecialchars($str);

                    
            $str preg_replace('/(\s{2})\s+/''\1'$str);

                    
            $str preg_replace('=\[b\](.*)\[/b\]=Uis',

                                        
            '<span style="font-weight:bold;">\1</span>',

                                        
            $str);

                    
            $str preg_replace('=\[i\](.*)\[/i\]=Uis',

                                        
            '<span style="font-style:italic;">\1</span>',

                                        
            $str);

                    
            $str preg_replace('=\[u\](.*)\[/u\]=Uis',

                                        
            '<span style="text-decoration:underline;">\1</span>',

                                        
            $str);



            $str preg_replace("/\[URL\](.*?)\[\/URL\]/si""<a target=\"_blank\" href=\"\\1\">\\1</a>"$str); 



            $str preg_replace("/\[URL=www.(.*?)\](.*?)\[\/URL\]/si""<a target=\"_blank\" href=\"http://www.\\1\">\\2</a>"$str); 





                    
            $str str_replace(':)''<img src="images/smilies/smilie-1.gif" alt=":)" />'$str);

                    
            $str str_replace(';)''<img src="images/smilies/smilie-12.gif" alt=";)" />'$str);

                    
            $str str_replace(':D''<img src="images/smilies/smilie-4.gif" alt=":D" />'$str);

                    
            $str str_replace(':(''<img src="images/smilies/smilie-2.gif" alt=":(" />'$str);

                    
            $str str_replace(';(''<img src="images/smilies/smilie-7.gif" alt=";(" />'$str);

                    
            $str str_replace('8)''<img src="images/smilies/smilie-8.gif" alt="8)" />'$str);

                    
            $str str_replace('=)''<img src="images/smilies/smilie-9.gif" alt="=)" />'$str);

                    
            $str str_replace(':O''<img src="images/smilies/smilie-10.gif" alt=":O" />'$str);





                    
            $str nl2br($str);



                    return 
            $str;




            Beim Zitat fügste halt das in die Funktion:
            PHP Code:
                    $str preg_replace('=\[quotes\](.*)\[/quotes\]=Uis',

                                        
            '<blockquote class="quote">\1</blockquote>',

                                        
            $str); 
            Beim ausgaben halt noch:

            PHP Code:
            <?php
            include('./parse.php');

            print 
            parse($row['string']);
            ?>
            Sry für die Umlaute, unter Ubuntu ist das leider so

            Ich hab [quotes] [/quotes] benutzt, da dieses Forensystem auch in einem PHP Tag das [quote] umsetzt.



            Gruß
            Last edited by Dave McClan; 05-03-2007, 15:11.

            Comment


            • #7
              Original geschrieben von Lenox
              Ich meine in der textarea ist es ja so richtig aber wenn ich es abschicke an die datenbank und es auslesen lasse dann erscheint es so wie in der textarea auch!
              Tja, dann wird's wohl einen Grund geben, warum die Parser-Klasse diesen Code an der Stelle nicht akzeptieren mag.

              Bspw. den Inhaltstyp inline zu verwenden, und <blockquote> innerhalb von block und inline zu erlauben, sollte einem ja schon reichlich merkwürdig erscheinen (so denn diese Klassennamen von den HTML-Bedeutungen "abgeleitet" sein sollten).
              I don't believe in rebirth. Actually, I never did in my whole lives.

              Comment

              Working...
              X