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: Freddy [Beiträge: 2291]
Datum: 20.07.2010 16:04:22
Hallo,
> Wieso lädst du dir den W3C Valid nicht direkt auf
> deinen Server und prüfst so direkt nach, ob die
> Eingabe valid ist.
Weil sich nicht um »mein« Server handelt.
> meine erste Idee wäre, mal im Netz zu suchen, ob
> es evtl. schon vorgefertige Validatoren gibt, die
> in JavaScript implementiert sind. Auf die
> Schnelle habe ich gerade nichts gefunden, aber
> evtl. bist du ja erfolgreicher.
Ich guck gleich mal intensiver, gerade habe ich aber auch nichts gefunden.
> Um den W3C-Validator zu nutzen, müsstest du ja
> nicht einmal ein PHP-Skript erstellen, sondern
> könntest auch direkt in deinem Formular mit
> JavaScript eine HTTP-Anfrage an den W3C-Validator
> stellen, in der im Body des HTTP-Requests dein
> HTML steht (das müsstest du natürlich noch mit
> head, body, etc. umwickeln). Bietet das W3C evtl.
> sogar eine entsprechende API?
Die haben 'ne Vali API, aber die bin ich noch nicht durchgegangen. Ich wollte zuerst hier Vorschläge sammeln. Auf den Server, auf dem ich arbyte, kann man von »draußen« nicht zugreifen, d.h. doch, dass ich auch keine Antwort da erwarten kann, nicht?
> Wenn du auf den Server Zugriff hast, müsstest du
> wohl auch einen kommandozeilenbasierten Validator
> installieren können und diesen in einem Skript
> nach dem Abschicken des Formulars aufrufen
> können.
Leider habe ich kein Zugriff. Nix SSH.
> > Habt Ihr vielleicht weitere Ideen, und welche von
> > beiden würdet Ihr bevorzugen?
>
> Ganz ehrlich? -- Ich würd's lassen.
Hmm... das ist natürlich auch eine Möglichkeit. :-)
> 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.
Ja, aber ich wäre derjenige, der das ausbügeln muss.
> 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.
Wie gesagt, ich habe keinen Zugriff.
> > 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.
OK, good to know.
> 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.
OK, klingt eigentlich ganz gut.
> 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...
Ich sehe schon: der Aufwand übersteigt den Nutzen -- und wohl nicht zu knapp.
> Mein Fazit: Hier ist selber basteln doof. ;-)
Ich sammle *mich* jetzt mal etwas, und mach dann 'was, oder eben nicht.
Vielen Dank an Euch alle.
Gruß,
Freddy
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...
|