HTML Verarbeitung unterbinden
abbs
- html
Guten Tag allerseits...
Ich habe ein Problem: Wenn ich in einer Textarea HTML Code eingebe, dann wird es gleich verarbeitet, ich will jedoch, dass es den Code bei der Ausgabe anzeigt und dass er nicht verarbeitet wird. Wie kann man das unterbinden? Ein Beispiel wären die Gästebücher von guestbook.de, wo man beim Eintragen ja die HTML-Verarbeitung per Klick ins Optionsfeld deaktivieren kann.
Besten Dank und Grüsse aus der Schweiz
Morgen.
Ich habe ein Problem: Wenn ich in einer Textarea HTML Code eingebe, dann wird es gleich verarbeitet, ich will jedoch, dass es den Code bei der Ausgabe anzeigt und dass er nicht verarbeitet wird.
Du musst die öffnenden Klammern jedes HTML-Tags maskieren. Infos hierzu:
http://de.selfhtml.org/html/allgemein/zeichen.htm#html_eigene
Freundschaft!
Siechfred
Danke vielmals, genau das habe ich gesucht! Wenn ich bei der Textarea jedoch einen Button habe, welcher beim Betätigen ein "<strong>-tag einfügt, wird dieser ja auch nicht mehr interpretiert... Nun heisst die einzige Lösung nur noch BBCode, oder? Habe mal den Parser von Christian Seiler durchstudiert, habe es auch probiert, aber die BBCode Tags werden nicht interpretiert. Muss ich einfach die Datei von Seiler includen und dann sollte das ganze automatisch gehen??
Gehört das ganze mit dem BBCode überhaupt hierrein?
Danke für die Antowrten!
Hi,
Danke vielmals, genau das habe ich gesucht! Wenn ich bei der Textarea jedoch einen Button habe, welcher beim Betätigen ein "<strong>-tag einfügt, wird dieser ja auch nicht mehr interpretiert...
das liegt daran, dass kein HTML-Kontext besteht, sondern der _String_ "<strong>" einem Wert hinzugefügt wird.
Nun heisst die einzige Lösung nur noch BBCode, oder?
Nö.
Cheatah
html kontext? was ist das?
Hi,
html kontext? was ist das?
ein Kontext ist ein Zusammenhang oder Umfeld, gewissermaßen eine Situation. Ein Xyz-Kontext ist also ein Zusammenhang, in dem Xyz gilt oder zutrifft.
Cheatah
Morgen.
html kontext? was ist das?
Du fügst der Nutzereingabe in der Textarea den _String_ <strong> hinzu, nicht den HTML-Tag. Zu einem HTML-Tag (also einer HTML-Angabe, die der Browser interpretiert) wird es erst, wenn du die Eingaben aus der Textarea irgendwo in einer HTML-Seite ausgeben lässt, und dann erst wird es seiner Bedeutung nach umgesetzt (der Text wird fett dargestellt).
Du musst also mittels einer Programmiersprache deiner Wahl entscheiden, welche Strings als HTML-Tags interpretiert werden sollen und welche nicht. Dazu empfiehlt sich die Verwendung von BBCode. Ein kleines Beispiel:
Eingabe in der Textarea:
'Ich bin <strong>doof</strong>, weil ich ein [fett]Ossi[/fett] bin.'
Verarbeitung mittels RegEx in Perl:
$eingabe =~ s/</</g;
$eingabe =~ s/[fett]/<strong>/gi;
$eingabe =~ s/[/fett]/</strong>/gi;
Ergebnis:
'Ich bin <strong>doof</strong>, weil ich ein <strong>Ossi</strong> bin.'
Freundschaft!
Siechfred
Guten Tag allerseits...
Ich habe ein Problem: Wenn ich in einer Textarea HTML Code eingebe, dann wird es gleich verarbeitet, ich will jedoch, dass es den Code bei der Ausgabe anzeigt und dass er nicht verarbeitet wird. Wie kann man das unterbinden?
Besten Dank und Grüsse aus der Schweiz
du musst auf dem script, das die Daten verarbeitet,
eine Routoine schreiben welche <> maskiert
aus < wird <
aus > wird >
damit wird HTML sichtbar angezeigt und kann nicht interpretiert werden.
in Perl lautet eine solche Anweisung:
$body =~ s/</</g;
$body =~ s/>/>/g;
das ist aber nur im body sinnvoll, in den anderen Feldern sollten n HTML und SSI ganz gelöscht werden.
mfg Beat
Hi abbs,
falls du PHP verwendest:
http://at.php.net/manual/de/function.htmlentities.php
http://at.php.net/manual/de/function.htmlspecialchars.php
Für die Abfrage, ob es ausgeführt werden soll oder nicht, brauchst du lediglich den Status deiner Checkbox abfragen und führst obige Funktionen je nach Ergebnis der Abfrage aus oder nicht.
Kurt