BBCODE Klasse von Christian Seiler

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

  • BBCODE Klasse von Christian Seiler

    Ich bin bei meinen BBCodes jetzt auf die Klasse von Christian Seiler umgestiegen, weil meine selbstgeschriebenen nur mäßig funktioniert haben

    BBCode-Parserklasse für PHP

    Läuft auch alles ganz gut, nur bei ein Paar Sachen hab ich Probleme:
    1) Zitat:

    Die Tags sind [zitat]Der Text[/zitat] und das output/return ist <div id="zitat">Der Text</div>.
    Oder aber [zitat=Spunk]Der Text[/zitat] und das output/return ist <div id="zitat"><i>Spunk</u><hr><br>Der Text</div>.

    Habs leider nicht ganz hinbekommen, man braucht glaub ich eine funktion und eine $bbcode->addCode Anfrage.

    2) Color:
    Tags:
    PHP-Code:
    [color=#ffffff]Der Text[/color] 
    Output/Return: <font color="#ffffff">Der Text</font>

    3) Smilies
    Das geht irgendwie mit "simple_replace_single" in der addCode Anfrage, habs aber leider nicht geschafft


    Wäre sehr dankbar für Hilfe
    Zuletzt geändert von Spunk95; 22.09.2010, 16:28.

  • #2
    Stelle bitte vernünftige Fragen - und vor allem, überhaupt erst mal Fragen.
    I don't believe in rebirth. Actually, I never did in my whole lives.

    Kommentar


    • #3
      Zitat von wahsaga Beitrag anzeigen
      Stelle bitte vernünftige Fragen - und vor allem, überhaupt erst mal Fragen.
      Na ja, dass sind die 3 Sachen die ich nicht hinbekomme, die Frage ist ob jemand das für mich hinbekommt

      Kommentar


      • #4
        Hallo,

        warum und inwiefern bekommst du das nicht hin? Ich denke, du bist umgestiegen auf einen funktionierenden Parser? Bisher ist wirklich nicht zu erkennen, was du jetzt willst, brauchst oder wo generell das Problem liegt.

        Amica
        [COLOR="DarkSlateGray"]Hast du die [COLOR="DarkSlateGray"]Grundlagen zur Fehlersuche[/color] gelesen? Hast du Code-Tags benutzt?
        Hast du als URL oder Domain-Beispiele example.com, example.net oder example.org benutzt?
        Super, danke!
        [/COLOR]

        Kommentar


        • #5
          Bisher kam keine einzige Frage von dir. (Tip: Die hören mit einem ? auf)

          Versuchst du, die gezeigten Funktionen nachzubauen oder nur zu verstehen? Willst du was daran ändern?
          This is what happens when an unstoppable force meets an immovable object.

          Kommentar


          • #6
            Ich versuche die gezeigten Funktionen nachzubauen/einzubauen.
            Weiß jemand wie das geht?

            Kommentar


            • #7
              Die Klasse ist ausführlich und mit Beispielen dokumentiert.

              Wenn du eigene Ansätze hast, dann können wir die diskutieren - dann aber bitte mit vernünftiger Problembeschreibung, was daran nicht wie gewünscht funktioniert.
              I don't believe in rebirth. Actually, I never did in my whole lives.

              Kommentar


              • #8
                Ja, die Beshreibung ist ausführlich und auch sehr gut, aber verstanden hab ich es nicht soweit, dass ich eigene Codes definieren kann.
                Mal mein Ansatz für einen Smilie:

                PHP-Code:
                $bbcode->addCode (':)''simple_replace_single'null,
                 array (
                'start_tag' => '<img id="smilie" src="style/smilies/smile.png">'),
                                  
                'inline', array ('listitem''block''inline''link'), array ()); 

                Was nicht funktioniert, ist halt, dass : ) nicht umgewandelt wird.
                Zuletzt geändert von Spunk95; 22.09.2010, 18:43.

                Kommentar


                • #9
                  Kann es auch nicht, es sei denn du schreibst es als [:)]. Die Klasse kümmert sich (soweit ich das der Doku entnehmen konnte) nur um Elementnamen in eckigen Klammern. Alles andere kannst du ja aber mit str_replace machen.
                  [COLOR="DarkSlateGray"]Hast du die [COLOR="DarkSlateGray"]Grundlagen zur Fehlersuche[/color] gelesen? Hast du Code-Tags benutzt?
                  Hast du als URL oder Domain-Beispiele example.com, example.net oder example.org benutzt?
                  Super, danke!
                  [/COLOR]

                  Kommentar


                  • #10
                    Ah, richtig Gut, dann behalt ich für die SMilies einfach meine alten Codes.
                    Bei dem Problem mit dem Zitat/Color hab ich leider keinen Ansatz, weil ich nicht weiß wie ich das machen soll
                    Die Funktion für img/url sind ähnlich, aber wenn ich versuche die darauf abzuändern, kommt da nichts gutes bei raus. Sind auch nicht wirklich ähnlich, nur auf den ersten Blick

                    Schonmal danke AmicaNoctis

                    Kommentar


                    • #11
                      Wie sieht dein aktueller Code dafür aus?
                      [COLOR="DarkSlateGray"]Hast du die [COLOR="DarkSlateGray"]Grundlagen zur Fehlersuche[/color] gelesen? Hast du Code-Tags benutzt?
                      Hast du als URL oder Domain-Beispiele example.com, example.net oder example.org benutzt?
                      Super, danke!
                      [/COLOR]

                      Kommentar


                      • #12
                        Der, den ich vorher benutzt hab?

                        PHP-Code:
                        $text preg_replace('/\[color=([[:alnum:]]{6}?).*\](.*?)\[\/color\]/',
                         
                        '<font color="#$1">$2</font>'$text);
                            
                        $text preg_replace("/\[zitat\](.*)\[\/zitat\]/iUms",
                        "<div id=\"forum_zitat\"><i>Zitat:</i></a><hr>\\1</div>",$text);
                            
                        $text preg_replace('/\[zitat=([^ ]+).*\](.*)\[\/zitat\]/'
                        "<div id=\"forum_zitat\"><i>Zitat von $1:</i><hr> $2</div>"$text); 
                            
                        $text preg_replace("/\[quote\](.*)\[\/quote\]/iUms",
                        "<div id=\"forum_zitat\"><i>Zitat:</i></a><hr>\\1</div>",$text);
                            
                        $text preg_replace('/\[quote=([^ ]+).*\](.*)\[\/quote\]/'
                        "<div id=\"forum_zitat\"><i>Zitat von $1:</i><hr> $2</div>"$text); 
                        Die klappen aber alle nur,wenn man es nur 1x benutzt, wegen den Variablen...
                        Zuletzt geändert von Spunk95; 22.09.2010, 19:38.

                        Kommentar


                        • #13
                          Moment, ich dachte, du bist auf StringParser_BBCode umgestiegen? Ich wollte deinen addCode-Aufruf sehen, um dir zu sagen, was du falsch machst
                          [COLOR="DarkSlateGray"]Hast du die [COLOR="DarkSlateGray"]Grundlagen zur Fehlersuche[/color] gelesen? Hast du Code-Tags benutzt?
                          Hast du als URL oder Domain-Beispiele example.com, example.net oder example.org benutzt?
                          Super, danke!
                          [/COLOR]

                          Kommentar


                          • #14
                            achso

                            Ja, ich weiß nicht wie ich das einfügen soll ^^ Weil man muss ja nicht nur nen addCode-Aufruf schreiben sondern auch ne Funktion...
                            So wie hier für img und url:

                            Dokumentation der StringParser_BBCode-Klasse

                            Weiß aber wie gesagt nicht wie ich das auf zitat ändern soll...

                            Kommentar


                            • #15
                              Zitat von Spunk95 Beitrag anzeigen
                              Weiß aber wie gesagt nicht wie ich das auf zitat ändern soll...
                              Ich hab mich mit dieser Klasse noch nie beschäftigt, aber nachdem ich die Doku mal kurz überflogen habe, glaube ich zu wissen, wie das geht. Hast du eigentlich die Doku gelesen?
                              [COLOR="DarkSlateGray"]Hast du die [COLOR="DarkSlateGray"]Grundlagen zur Fehlersuche[/color] gelesen? Hast du Code-Tags benutzt?
                              Hast du als URL oder Domain-Beispiele example.com, example.net oder example.org benutzt?
                              Super, danke!
                              [/COLOR]

                              Kommentar

                              Lädt...
                              X