Ankündigung

Einklappen
Keine Ankündigung bisher.

BBC Code (HTML Tags ausgeben)

Einklappen

Neue Werbung 2019

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

  • BBC Code (HTML Tags ausgeben)

    Hallo,

    ich mal wieder ^^

    habe ne Funktion die aus BBC Code HTML Tags erstellt.

    hier mal ein auszug

    PHP-Code:
    $bb preg_replace('/\n/'"<br>"$bb);

    $bb preg_replace('#\[table\](.*)\[/table\]#isU'"<table>\n$1</table>\n"$bb);
    $bb preg_replace('#\[tr\](.*)\[/tr\]#isU'"<tr>\n$1</tr>\n"$bb);
    $bb preg_replace('#\[td\](.*)\[/td\]#isU'"<td>$1</td>\n"$bb); 
    das problem ist nun das wenn ich in einen text eine tabelle erstelle gibt er mir das so aus

    PHP-Code:
    <table><br><tr><br><td>... 
    das liegt sicher daran das ich \n mit <br> ersetze.

    im Textfeld gebe ich das so ein

    Code:
    text text text
    wenn ich jedoch

    Code:
    text text text
    schreibe klabbt die ausgabe auch wunderbar

    PHP-Code:
    <table>
    <
    tr>
    <
    td>... 
    Kann man dies beheben ohne das ich das mit \n wird zu <br> rausnehmen muss?

    Wäre dankbar für Tips und Hilfe

    Lg

  • #2
    Ja musst halt zwischen den BBCodes alles unnötige entfernen. Was passiert bei dir wenn der User TD und TR falsch verschachtelt? Oder in der ersten Zeile mehr TDs angibt als in der zweiten? Damit kann der User dir das gesamte Design zerschießen ... Tabellen finde ich im BBCode schwierig umzusetzen ...

    Kommentar


    • #3
      Ich sag's immer wieder - sowas nicht selber basteln, weil das mit regulären Ausdrücken allein kaum sinnvoll umsetzbar ist - sondern was fertiges nutzen.

      Mein Favorit: BBCode-Parserklasse für PHP
      [SIZE="1"]RGB is totally confusing - I mean, at least #C0FFEE should be brown, right?[/SIZE]

      Kommentar


      • #4
        Zitat von Flor1an Beitrag anzeigen
        Ja musst halt zwischen den BBCodes alles unnötige entfernen. Was passiert bei dir wenn der User TD und TR falsch verschachtelt? Oder in der ersten Zeile mehr TDs angibt als in der zweiten? Damit kann der User dir das gesamte Design zerschießen ... Tabellen finde ich im BBCode schwierig umzusetzen ...

        tabellen sind nur für mich wichtig im admin bereich. user kann nur standart wie fettgedruckt, usw...

        Mit unnötiges meinste die leerzeichen/enter dingens?

        Kommentar


        • #5
          Ja die meine ich ... für den Admin sind Tabellen ok. Ob man "fettgedruckt" als Standart bezeichnet weiß ich nicht, zumindest ist es Standard bei den meisten BBCodes

          Kommentar


          • #6
            Ich find ja Textile besser
            [COLOR="#F5F5FF"]--[/COLOR]
            [COLOR="Gray"][SIZE="6"][FONT="Georgia"][B]^^ O.O[/B][/FONT] [/SIZE]
            „Emoticons machen einen Beitrag etwas freundlicher. Deine wirken zwar fachlich richtig sein, aber meist ziemlich uninteressant.
            [URL="http://www.php.de/javascript-ajax-und-mehr/107400-draggable-sorttable-setattribute.html#post788799"][B]Wenn man nur Text sieht, haben viele junge Entwickler keine interesse, diese stumpfen Texte zu lesen.“[/B][/URL][/COLOR]
            [COLOR="#F5F5FF"]
            --[/COLOR]

            Kommentar


            • #7
              Zitat von ChrisB Beitrag anzeigen
              Ich sag's immer wieder - sowas nicht selber basteln, weil das mit regulären Ausdrücken allein kaum sinnvoll umsetzbar ist - sondern was fertiges nutzen.

              Mein Favorit: BBCode-Parserklasse für PHP

              Läuft spitze. Bekommt man auch
              <br /> durch <br> ersetz in der der Klasse? scheint ja alles mit
              nl2br zu laufen

              PHP-Code:
              // Der Zeilenumbruch erfolgt mit nl2br
              $bbcode->addParser (array ('block''inline''link''listitem'), 'nl2br'); 

              Kommentar


              • #8
                Wieso solltest du <br> erzeugen wollen? Warum belässt du es nicht bei <br />, das ist schließlich XHTML konform.

                Kommentar


                • #9
                  Zitat von 22hase Beitrag anzeigen
                  Bekommt man auch <br /> durch <br> ersetz in der der Klasse? scheint ja alles mit nl2br zu laufen
                  Am simpelsten: Kleine Wrapper-Funktion schreiben, die nl2br mit zweitem Parameter = true aufruft, und diese Wrapper-Funktion als Parserfunktion registieren.


                  Btw.: Bitte wenn möglich auf eigene Umbrüche beim Schreiben von Fließtext hier im Forum verzichten - sowas ist besonders beim Zitieren immer lästig, und auch sonst bevorzuge ich es, wenn der Text beim lesen so weit fließt, wie meine Browserfensterbreite es zulässt. Danke.
                  [SIZE="1"]RGB is totally confusing - I mean, at least #C0FFEE should be brown, right?[/SIZE]

                  Kommentar

                  Lädt...
                  X