Ein (vielleicht) unlösbares mit BBCode

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

  • Ein (vielleicht) unlösbares mit BBCode

    Servus,

    ich versuche zurzeit meinen eigenen BB-Code für ein programm von mir zu schreiben:

    dabei tritt folgendes problem auf:


    wenn man folgendes z.B. im vBulletin (also auch in eurem Forum) ausführt (die runden Klammern muss man sich im Gedanken durch eckige ersetzen) ...

    (PHP)
    <?PHP
    echo "(CODE)asdf";
    echo "dfg(/CODE)sdd";
    ?>
    (/PHP)

    ... bekommt man sowas hier:

    PHP-Code:
    <?PHP
    echo "[CODE]asdf";
    echo 
    "dfg[/CODE]sdd";
    ?>
    Ich hab mir schon den Kopf zerbrochen und überlegt, wie man das Problem bewerkstelligen könnte bin aber leider immer noch nicht draufgekommen - vielleicht gibt's gar keine Lösung

    ... und jetz kommt mir bitte nicht wieder mit eurer depperten Suchfunktion - für sowas gibt's net mal in eurem Forum ein Lösung!

  • #2
    denk mal gaaaanz schaaaaf nach:

    (CODE) wird zu </normalfont><blockquote><pre><smallfont>code:</smallfont><hr>
    (/CODE) wird zu <hr></pre></blockquote><normalfont>

    wenn der text in einer var steht, sollte mit str_replace() doch was zu machen sein, oder ???
    Kissolino.com

    Kommentar


    • #3
      da bin ich auch schon drauf gekommen - nur war das auch nix ...

      Ich denke mal das es zu kompliziert ist um das hier zu erklären ...

      Kommentar


      • #4
        Meinst du das Syntax-Highlihting?

        Das wird mit dieser Funktion erzeugt: http://www.php.net/manual/de/functio...ght-string.php

        Kommentar


        • #5
          Nein, mein ich nicht!

          Es ist schön das ihr mir so helft, aber ich hab gestern nochmal nachgedacht und festgestellt, das es keine richtige Lösung gibt ...

          Kommentar


          • #6
            was meinst du denn dann?

            du willst (code) und (/code) ersetzen oder ?
            Wenn dem so ist, schau dir das Posting von wurzel nochmal an.
            TBT

            Die zwei wichtigsten Regeln für eine berufliche Karriere:
            1. Verrate niemals alles was du weißt!


            PHP 2 AllPatrizier II Browsergame

            Kommentar


            • #7
              Ach du willst das innerhalb der (PHP)-Umgebung die (CODE) Umgebung ausgefuehrt wird ...

              Ich denke mal das Problem ist das die Funktion hightlight_string() das ganze nur als farblich formatierten String ausgibt und diesen nicht mehr parsen laesst.
              Das ist aber auch so gedacht, da man ja sehen will wie der PHP-Code aussieht und nicht was er spaeter im Browser anzeigt.

              wenn man das hier haben will:

              PHP-Code:
              echo "hier ist code (CODE) oder nicht (/CODE)"// runde Klammern sollen eckig sein 
              muesste man den zu formatierenden Text zerlegen ... in die Teile ohne (PHP) Umgebung und diejenigen mit. In denen mit (PHP)-Umgebung duerfte man dann nicht die (CODE) - Formatierung anwenden, in den anderen schon und zum Schluss muss man das ganze wieder zu einem String zusammenbasteln.
              Waer mal interessant wenn das einer Testet.... duerfte recht aufwendig sein, die Positionen zu speichern und spaeter alles wieder zusammenzusetzen ..

              Oder eine andere Loesung: eine eigene highlight_string() Funktion schreiben

              Kommentar


              • #8
                man muss sich einfach eine funktion basteln, die den teil zwischen [php] nicht parst
                so schwer ist das nicht!

                mfg

                Kommentar


                • #9
                  ich will, das innerhalb der (PHP)-Umgebung die (CODE)-Umgebung nicht ausgeführt wird ...

                  ... außerdem gibt es nicht wirklich eine Lösung

                  Beispiel:

                  (PHP)
                  <?PHP
                  echo "(CODE)";
                  echo "(/CODE)";
                  echo "(/PHP)";
                  ?>
                  (/PHP)

                  was machen wir jetz? Jetz kommt es nämlich auf den User an wie er den Text angezeigt haben will:

                  <?PHP
                  echo "(CODE)";
                  echo "(/CODE)";
                  echo "(/PHP)";
                  ?>

                  oder so:

                  <?PHP
                  echo "(CODE)";
                  echo "(/CODE)";
                  echo "

                  ... ein unlösbares problem (denk ich mal) ...

                  Kommentar


                  • #10
                    ach du meinst sowas

                    [COLOR=red](code)[/COLOR]
                    sag
                    asdh
                    dshf
                    (code)
                    asgf
                    asg
                    asg
                    (/code)
                    adsg
                    ag
                    [COLOR=red](/code)[/COLOR]

                    und nur die roten sollen umgewandelt werden?
                    also so ein Ergebniss bringen ?

                    [werbung=on] http://board.webxsite.de/post.php?id=457 [/werbung]
                    TBT

                    Die zwei wichtigsten Regeln für eine berufliche Karriere:
                    1. Verrate niemals alles was du weißt!


                    PHP 2 AllPatrizier II Browsergame

                    Kommentar


                    • #11
                      Original geschrieben von cYaONE
                      ich will, das innerhalb der (PHP)-Umgebung die (CODE)-Umgebung nicht ausgeführt wird ...

                      ... außerdem gibt es nicht wirklich eine Lösung


                      also ich hab eine!
                      ich über legs mir ob ich die poste

                      mfg

                      Kommentar


                      • #12
                        Es wäre super, wenn ihr eure Lösung posten könntet! Nochwas: wie sieht es aus wenn man den Code-Tag innerhalb eines PHP-Tags hat?

                        Ganz wird das Problem jedoch nicht behoben werden (wie ich es in meinem letzten Thread erklärt habe) ...
                        Zuletzt geändert von cYaONE; 15.04.2003, 21:03.

                        Kommentar


                        • #13
                          ich habe mal ausprobiert einen beitrag zu posten ...

                          http://board.webxsite.de/post.php?id=457

                          ... somit sind wir nicht weiter als zuvor

                          Kommentar


                          • #14
                            doch es geht, siehe Antwort.
                            Aber nur mit einem zusätzichen Tag,
                            da man sonst nicht bestimmen kann, welches der äußerste
                            gültige Code Tag ist.

                            @cYaONE: du hast ja 3 mal editiert, bevor es so angezeigt wird
                            wohl doch nicht so ganz eindeutig meine Tags
                            Zuletzt geändert von TBT; 15.04.2003, 22:16.
                            TBT

                            Die zwei wichtigsten Regeln für eine berufliche Karriere:
                            1. Verrate niemals alles was du weißt!


                            PHP 2 AllPatrizier II Browsergame

                            Kommentar


                            • #15
                              Und warum geht's jetz auf einmal und zuvor gings nicht?
                              Was hast du gepostet?

                              Kommentar

                              Lädt...
                              X