schluss-tag ohne anfangs-tag standard?
asdf
- meinung
Hallo SELFHTML-BENUTZER!
Also ich habe jetzt eine seite in der bestimmte User einen Text einen News-Thread schreiben können. Es sollen nur einpaar Html-Tags erlaubt sein, nur habe ich Angst, jemand vergisse einmal einen End-Tag was dann das Aussehen der Seite beeinflussen könnte. Nun will ich bei jedem Text der geschrieben wurde an dann ENDE so etwas anhängen: "</b></i><il></ul>".
Findet ihr, dass das eine schlechte Lösung ist. Denn es entspricht nicht dem Standard doch ich habe keine andere Idee wie ich das machen könnte ohne Risiko, dass die Seite zerstört wird von einen Schadenfrohen.
Danke schonmal für Antworten
MFG asdf
Holladiewaldfee,
Findet ihr, dass das eine schlechte Lösung ist. Denn es entspricht nicht dem Standard doch ich habe keine andere Idee wie ich das machen könnte ohne Risiko, dass die Seite zerstört wird von einen Schadenfrohen.
Och ... analysiere den Text, den der Benutzer eingibt und hänge anschließend die passenden Tags an bzw. mach ihn zur Schnecke, wenn die Tags nicht passen. Einfach alles mögliche unnötige Zeugs hinten dran hängen halte ich für eine ziemlich schlechte Lösung.
MFG asdf
Deine Eltern müssen bei der Namensgebung echt mitgedacht haben, wenn sie Dir extra einen Namen rausgesucht haben, den man auf der Tastatur besonders einfach tippen kann. Respekt (SCNR) ;)
Ciao,
Harry
Hi,
Also ich habe jetzt eine seite in der bestimmte User einen Text einen News-Thread schreiben können. Es sollen nur einpaar Html-Tags erlaubt sein, nur habe ich Angst, jemand vergisse einmal einen End-Tag was dann das Aussehen der Seite beeinflussen könnte. Nun will ich bei jedem Text der geschrieben wurde an dann ENDE so etwas anhängen: "</b></i><il></ul>".
Findet ihr, dass das eine schlechte Lösung ist.
Ja, denn in vielen Fällen wirst Du Elemente schließen, die gar nicht geöffnet sind.
Und was soll das Öffnen des nicht-HTML-Elements il bewirken?
Außerdem: dann öffnet man halt einfach zweimal b, ohne es zu schließen, und schon ist Dein Schutz wirkungslos...
Denn es entspricht nicht dem Standard doch ich habe keine andere Idee wie ich das machen könnte ohne Risiko, dass die Seite zerstört wird von einen Schadenfrohen.
Zähle die Anzahl der öffnenden tags von b und die Anzahl der schließenden tags von b. Nur, wenn sich hier ein Überhang der öffnenden ergibt, fügst Du entsprechend der Differenz eben schließende b-tags ein.
Gleiches Vorgehen dann für die anderen Elemente.
Noch besser wäre natürlich, wenn Dein Script auch die korrekte Schachtelung prüft.
cu,
Andreas
<b></i><il></ul>"
es gehört <b><i></li></ul> falls du wirlick nciht verstanden hast was es ist :)
Hallo!
Danke das war alles was ich wissen wollte.
Das Zählen der Tags, hatte ich auch vor und das werde ich jetzt machen.
sehr freundlich
Grüße asdf (Robert).
hi,
Das Zählen der Tags, hatte ich auch vor und das werde ich jetzt machen.
warum verwendest du nicht gleich die als "bb-code" o.ä. bekannten pesudo-tags wie [b]fett[/b], [i]kursiv[/i] etc., um dem user formatierungen zu erlauben?
erstens sind diese relativ weit gebräuchlich, dürften also den user nicht vor aussergewöhnliche herausforderungen stellen (und wer damit nicht klar kommt, baut wahrscheinlich mit html noch mehr mist).
ausserdem brauchst du dir dann keine sorgen darüber machen, "erlaubte" von "nicht erlaubten" html-tags zu trennen - einfach htmlentities (oder ein äquivalent, falls deine serverseitige script-sprache nicht php ist) drüber laufen lassen, und alle gefahren, die von html-tags ausgehen könnten, sind gebannt.
anschliessend werden die bb-code-tags [b], [i], etc. mittels regulären ausdrücken gesucht und ersetzt.
wenn du dabei gleich nur die kombination
[öffneder tag]text[/schliessender tag]
im regex-suchmuster-berücksichtigst, hast du auch kein problem mehr mit eventuell nicht geschlossenen html-elementen - dann steht halt noch ein [b] o.ä. unersetzt und alleine da - aber das bringt deinen browser nicht in verlegenheit. und du kannst dir das explizite nachzählen sparen ...
und schlussendlich spricht ausserdem dafür, dass es dafür schon zahlreiche vorfertigte klassen gibt, z.b. vom christain seiler (AFAIK) hier im forum, also einfach mal die </archiv>-suche bemühen ;-)
gruss,
wahsaga
Hallo Wahsage!
Danke für deine Mühe,
jedoch gibt es bei dieser Art nur bold und kursiv und solche Sachen.
Nun brauche ich aber auch <ul><li></li></ul>.
Trotzdem hast du mich auf eine Idee gebracht. Ich könnte zuerst zählen wieviele <b> es gibt und dann nach:
<b>----Irgendetwas(regulärer Ausdruck)---</b>
wenn es dann beide die selbe anzahl haben, dann wird es weitergemacht.
Ist das in Ordunng so oder weiß jemand aus Erfahrung, dass das eine schlecht lösung ist?
MFG Robert
hi,
Danke für deine Mühe,
jedoch gibt es bei dieser Art nur bold und kursiv und solche Sachen.
Nun brauche ich aber auch <ul><li></li></ul>.
na ja, auch das sollte man mit regulären ausdrücken hinbekommen können.
Trotzdem hast du mich auf eine Idee gebracht. Ich könnte zuerst zählen wieviele <b> es gibt und dann nach:
<b>----Irgendetwas(regulärer Ausdruck)---</b>
wenn es dann beide die selbe anzahl haben, dann wird es weitergemacht.
ja, das würde natürlich gehen.
Ist das in Ordunng so oder weiß jemand aus Erfahrung, dass das eine schlecht lösung ist?
ich find's immer noch ein wenig umständlich, hier manuell nachzuzählen, anstatt einen regulären asdruck zu verwenden, der eh nur bei "richtiger" anzahl greift.
btw: hier noch der link zu christians bb-code-klasse: http://www.christian-seiler.de/projekte/php/bbcode/
gruss,
wahsaga