Text auf korrektes HTML prüfen

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

  • Text auf korrektes HTML prüfen

    Hallo Forum,

    ich habe ein Textfeld, welches auch (bestimmte) HTML-Eingaben erlaubt.
    Nun möchte ich überprüfen, ob der User auch korrektes HTML eingegeben hat - der Text wird später innerhalb einer Tabelle als Ausgabe platziert, der HTML-Code ausgeführt, und ich möchte verhindern, dass durch falsche Angaben das Layout "zerschossen" wird.
    Zuerst wollte ich das mit entsprechenden RegExs lösen.
    Damit kann ich zwar zählen, ob die Anzahl der geöffneten Tags gleich mit der Anzahl der geschlossenen Tags ist, aber so weiß ich ja noch nicht, ob die Verschachtelung der Tags auch korrekt ist.
    Kann mir da mal jemand einen "Denkanschubser" geben?
    Zur Zeit fällt mir einfach nichts ein, wie ich das sinnvoll überprüfen kann.

    Wie würdet ihr das machen?

  • #2
    arbeite mit BB-CODE...
    INFO: Erst suchen, dann posten![color=red] | [/color]MANUAL(s): PHP | MySQL | HTML/JS/CSS[color=red] | [/color]NICE: GNOME Do | TESTS: Gästebuch[color=red] | [/color]IM: Jabber.org |


    Kommentar


    • #3
      Wow Abraxax, als erstes bekommst Du mal den Geschwindigkeitsorden für die schnellste Antwort. *g*
      Wie meinst Du das genau mit dem BBCode?
      Meinst Du eine fertige Klasse, in der solche Funktionen bereits existieren?
      Ansonsten ist es ja egal, ob es nun spitze oder eckige Klammern sind, die ich ersetze (zähle).

      Kommentar


      • #4
        japp. und wenn du [] statt <> hast, brauchst du ja auch nciht alle ersetzen...

        suche mal nach 'bbcode' hier im forum. da sollte jede menge sein.
        INFO: Erst suchen, dann posten![color=red] | [/color]MANUAL(s): PHP | MySQL | HTML/JS/CSS[color=red] | [/color]NICE: GNOME Do | TESTS: Gästebuch[color=red] | [/color]IM: Jabber.org |


        Kommentar


        • #5
          Die Suche funktioniert bei mir irgendwie nicht. Egal welche Suchmethode ich wähle - ich erhalte immer "0 Treffer".
          Ich habe es im Opera und im IE probiert, aber leider ohne Ergebnis.
          Woran liegt das denn?

          Kommentar


          • #6
            http://www.php-resource.de/forum/sho...threadid=19424
            INFO: Erst suchen, dann posten![color=red] | [/color]MANUAL(s): PHP | MySQL | HTML/JS/CSS[color=red] | [/color]NICE: GNOME Do | TESTS: Gästebuch[color=red] | [/color]IM: Jabber.org |


            Kommentar


            • #7
              Ah Danke, jetzt funzt das auch bei mir mit der Suche. *freu*
              (Paradoxerweise konnte ich den Thread ja ohne Suchefunktion nicht finden...lol)
              Dann werde ich mal alle entsprechenden Artikel durcharbeiten.
              Bisher habe ich aber leider nur das einfache Ersetzen der BB-Tags durch entsprechende HTML-Tags gefunden.
              Mein Problem war ja die korrekte Verschachtelung der Tags zu überprüfen und dazu habe ich noch nichts gefunden.
              Mittlerweile überlege ich mit preg_match alle Tags zwischen < und > auszulesen und dann über das Array zu prüfen, ob das nächste geschlossene Tag zum letzten geöffneten Tag passt.

              Wenn nicht -> entsprechendes Schließen-Tag einfügen...
              Schließen-Tags ohne zugehörigem Öffnen-Tag kommentarlos löschen...
              das ganze eventuell noch hübsch in eine Rekursion verpackt und ...
              dann sollte es eigentlich hinhauen.

              Mal sehen, was die Praxis für Probleme mit sich bringt.

              Kommentar


              • #8
                mach's mit [] statt <>
                dann kannst du einfach deine regex drüberjagen und gut is, evtl. stehen noch [b] oder so drin, aber die zerschießen dir nich das layout
                Ich denke, also bin ich. - Einige sind trotzdem...

                Kommentar

                Lädt...
                X