selfhtml.de - Alles für den Webmaster!

 

Anzeige: Goneo - Du machst das Web!

Anzeige: united-domains - Die ganze Welt der Domains

united domains - jetzt Wunsch-Domain sichern!

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


Beiträge

Antwort schreiben

Username: Usernamen registrieren
Passwort: Passwort vergessen?
Thema:
  Bitte benutze für deinen Beitrag die Groß-/Kleinschreibung!
Beitrag:
Link (URL):
Titel für Link:
Grafik (URL):
  Die Breite der Grafik darf 468 Pixel nicht überschreiten.
 
E-Mail-Benachrichtigung:



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

Webhosting Provider bewerten und Apple iPad gewinnenWie 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...