Frage zur BB Parserklasse

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

  • Frage zur BB Parserklasse

    Hallo. Ich verwende die ziemlich umfangreiche BB-zu-HTML-Parser-Klasse von Christian Seiler. Zu finden hier

    Mit der Klasse konnte ich fast alle BB-Codes umwandeln, jedoch gelingt mir das mit dem [.CODE] leider nicht! Ich habe (wie bei Quote auch) die callback_replace Methode verwendet, da ich um den ge[.CODE]ten text ja das Tabellenlayout haben will, das dem ganzen ein gutes Aussehen gibt. Wie ich jetzt aber es schaffe dass der Inhalt im [.CODE] tag unberührt bleibt (so wäre es ja mit der "usecontent" der fall) weiss ich nicht

    Ein anderes Problem das ich habe ist: wie soll ich genau Smilies ersetzen können, die z.B. durch :smileyname: gekennzeichnet sind ?

    MfG

    Update:
    Das erste Problem hat sich erledigt!
    man kann bestimmte codes in anderen verbieten. habe dem CODE einfach einen neuen Inhaltstyp gegeben und alle anderen codes darin verboten

    aber das problem mit dem Smiley besteht weiterhin
    Zuletzt geändert von NameZero912; 29.01.2006, 20:40.

  • #2
    Aus der deutschen Doku:
    1.3 Spezielle Codes

    Manchmal kann es sinnvoll sein, das Erkennen von Codes kurzzeitig zu deaktivieren. In vielen Foren wird der Code [.code] angeboten, mit dem man Ausschnitte aus Quelltexten markieren kann und dafür sorgen kann, dass [b] und ähnliches innerhalb dieses Ausschnitts nicht ersetzt wird. Der Ausschnitt kann dann nur von [./code] beendet werden. Die Klasse bietet auch eine Möglichkeit, dieses Verhalten besonders einfach zu erzeugen. Beispiel:

    Code:
    // so wird der [b]-Code erzeugt:
    // ...
    In diesem Beispiel wäre es natürlich nicht gewollt, das [b] zu interpretieren, das gehört ja zum Code, den man anzeigen lassen will, dazu. Dazu gibt es eine sogenannte Behandlungsart namens usecontent, die dazu führt, dass sobald ein Start-Tag gefunden wurde, nur noch nach dem dafür vorgesehenen End-Tag gesucht wird.
    wer lesen kann ist klar im Vorteil!

    Hab zu den Smilies sowas gefunden:

    $bbcode->addParser ('replace_smilie', ...);

    Wie versuchst du es denn?
    Zuletzt geändert von TobiaZ; 30.01.2006, 10:02.

    Kommentar


    • #3
      Original geschrieben von TobiaZ
      Aus der deutschen Doku: wer lesen kann ist klar im Vorteil!

      Hab zu den Smilies sowas gefunden:

      $bbcode->addParser ('replace_smilie', ...);

      Wie versuchst du es denn?
      ich kann lesen, und demnach habe ich meinen beitrag schon längst geändert ("Das erste Problem hat sich erledigt!").

      zur zeit habe ich die smilieys noch garnicht ersetzt. das problem ist dass man beim angeben eines "codes" der klasse anweist, etwas wie "[.code]" zu suchen. aber meine smilies heissen ja :smily: und nicht [smily]. natürlich könnte ich ein tag einführen dass z.D. so aussieht:

      "[smiley=smileyname]" und es per call_replace(simple) ersetzen lassen. das sollte gehen, aber ich frage mich ob es nicht auch anders geht

      MfG
      Zuletzt geändert von NameZero912; 30.01.2006, 21:18.

      Kommentar


      • #4
        deshalb ja auch addParser und nicht addCode

        Kommentar


        • #5
          ja, ich habe gelesen dass man dafür den parser verwenden kann. allerdings ist mir nicht klar, wie. es wird ja folgendes beim addparser angegeben:
          type, parser

          bei type: was soll ich dort bitte angeben ? einen typ für die smilieys habe ich bisher nicht und ich wüsste auch nicht wie ich den einrichtigen sollte

          parser: und dort ? was sol da rein ? eine callback funktion ? ich habe echt keinen schimmer =/

          MfG

          [COLOR=red]EDIT: ich mache einfach eine bb_smilie funktion die alle smilies über eregi_replace ersetzt. ich nehme als quelle für die funktion den string NACHDEM er die parserklasse durchlaufen hat

          das thema hat sich also erledigt[/COLOR]
          Zuletzt geändert von NameZero912; 31.01.2006, 17:32.

          Kommentar


          • #6
            Hallo!
            Ich hätte da auch noch eine Frage zu dieser Klasss. Und zwar: Wie kann ich bei usecontent? der Funtion eine Array mit übergeben?

            Also, mein Code zum erzeugen des BBCodes sieht so aus

            PHP-Code:
                $bbcode->addCode ('bild''usecontent?''do_bbcode_img_upload'
            array (
            'usecontent_param' => array('default','position')),'image'
            array (
            'listitem''block''inline''link'), array ()); 
            Jetzt muss ich allerdings der Funtion "do_bbcode_img_upload" mein Array $bild_url mit übergeben.

            Kommentar

            Lädt...
            X