Anzeige: Goneo - Du machst das Web!
Anzeige: united-domains - Die ganze Welt der Domains
Einfache & schnelle Domain-Registrierung zu fairen Preisen ohne Einrichtungsgebühren. Mehr als 250 Domain-Endungen aus einer Hand inklusive E-Mail- & Web-Weiterleitung. Einzigartiges Domain-Portfolio zur bequemen & sicheren Verwaltung Ihrer Domain-Namen.
Jetzt Domain-Check bei united-domains!
Re: Textarea-Inhalt validieren
Autor: T.Jung [Beiträge: 3463]
Datum: 20.07.2010 15:42:55
> Habt Ihr vielleicht weitere Ideen, und welche von
> beiden würdet Ihr bevorzugen?
Ganz ehrlich? -- Ich würd's lassen.
Wenn der eigegebene Code zu Darstellungsfehlern führt, muss er eh korrigiert werden. Tut er ist nicht (ist also »einfach so« invalid), wäre es mir die Mühe nicht wert... schließlich habe _ich_ es nicht verbockt, sondern anderen.
Wenn überhaupt, würde ich versuchen, darauf zu dringen, dass auf dem fraglichen Server die Tidy-Library installiert wird:
http://www.php.net/manual/de/book.tidy.php
... und dann damit arbeiten -- oder eben, wie von meinen Vorrednern vorgeschlagen, den Validator auf dem Server installieren lassen.
> Ich würde den Inhalt gegen RegEx (JS,
> oder AJAX/PHP) testen, die
>
> - zählt, ob gerade eine Anzahl von < und >
> vorliegt
Gemäß der sinnvollen Vorgabe, dass beim allem, was man mit den einfachen Stringfunktionen erledigen kann, auf RegEx verzichten sollte, würde ich für diesen Part substr_count() vorziehen.
http://de2.php.net/manual/en/function.substr-count.php
> - innerhalb von < und > nur ausgewählte
> Strings (sprich: Elemente) enthalten sind
Ich bin jetzt auch nicht der RegEx-Meister, deshalb mag ich falsch liegen: Aber ich vermute, mit _einem_ RegEx ist das gar nicht möglich...
ich wüsste jetzt jedenfalls keine RegEx-Syntax, mit der man sagen kann: Finde einen String zwischen "<" und ">", der NICHT der übergebenen Klasse von erlaubten Strings entspricht.
Und wenn es doch so einen gibt, ist er höchstwahrscheinlich nicht sehr effizient.
Da würde ich eher
- per RegEx alle Tags raussuchen -- also alles zwischen "<" und ">";
- in jedem einzelnen Ergebnis per Stringfunktion alles löschen, was erlaubt ist,
- wenn etwas anderes übrig bleibt als ein Leerstring, ist es wohl etwas unerlaubtes.
Das Lustige ist nur: Selbst das nützt ja gar nichts!
Denn invaliden Code habe ich z.B. auch mit
  <a href="ziel.html">
      <div>
      Blablubb.
      </div>
  </a>
Und diese Verschachtelungsfehler kriegst Du eh nicht mit einem RegEx erfasst...
Mein Fazit: Hier ist selber basteln doof. ;-)
Gruß,
Tobias
Zum Abschicken deines Beitrags bitte die Schaltfläche "Abschicken" nur einmal anklicken und warten. Der Server braucht manchmal
einige Zeit, bis er den Beitrag in die Datenbank übernommen hat. Wenn du die Schaltfläche mehrmals drückst, erscheint dein Beitrag
auch mehrmals im Forum.
Bewerten Sie Ihren Webhosting-Provider
Wie zufrieden sind Sie mit Ihrem Webhosting-Provider? Gibt es Probleme beim Service, mit der Performance oder der Abrechnung?
Teilen Sie jetzt Ihre Erfahrungen mit anderen Webmastern und schreiben Sie eine Provider-Bewertung. Mit etwas Glück können Sie ein Apple iPad gewinnen!
Weitere Informationen und Teilnahme...