Forum Doku Wiki Blog

Forumsarchiv 2006, November
Störende Html Tags mit replace entfernen

archivierte Beiträge lesen

  1. (JAVASCRIPT) Störende Html Tags mit replace entfernen von Jan Rüther, 01. 11. 2006, 18:24

Störende Html Tags mit replace entfernen

Der folgende Beitrag wurde am 01. 11. 2006, 18:24 Uhr von Jan Rüther veröffentlicht.

Hallo ich möchte aus einem textarea alle Html-tags entfernen lassen um so eine Manipulationsfreie Eingabe zu ermöglichen. Ich möchte den Text zwischen den Tags aber erhalten.

Mein Code

function replacehtml(ort)
{
var reg =  /<(.*)>/;
  //while(reg.test(text))
  //{
    var text = document.getElementById(ort).value;
    document.getElementById(ort).value = text.replace(reg,"");
  //}
}

Problem es wir nicht <hag> oder </hag> gelöscht.
Sondern <hag>....</hag> und somit geht der Inhalt verloren. Ich sortiere nicht aus sondern vernichte die ganze Eingabe. Was ist an meinem Ausdruck falsch? Wie kann ich auch langen Tags über mehrere Zeilen kleinkriegen?

Störende Html Tags mit replace entfernen

Der folgende Beitrag wurde am 01. 11. 2006, 18:39 Uhr von Sven Rautenberg veröffentlicht.

Moin!

> Hallo ich möchte aus einem textarea alle Html-tags entfernen lassen um so eine Manipulationsfreie Eingabe zu ermöglichen.

Was verstehst du denn unter einer "manipulationsfreien Eingabe"?

Javascript ist zur Sicherstellung von garantierten Benutzereingaben absolut ungeeignet. Nutze serverseitige Techniken!

Und vermutlich setzt du ohnehin falsch an. HTML-Tags in Benutzereingaben sind nicht böse. Sie ohne Escaping wieder an den User zu schicken ist böse.

Wandle jedes Zeichen < in die Entity &lt;, jedes Zeichen > in die Entity &gt;, und jedes Zeichen & in die Entity &amp; - schon hast du keine Probleme mehr mit Cross-Site-Skripting im HTML-Kontext. Wobei die Wandlung selbstverständlich serverseitig und erst bei der Ausgabe erfolgen soll, nicht vorher.

 - Sven Rautenberg
--
"Love your nation - respect the others."

Störende Html Tags mit replace entfernen

Der folgende Beitrag wurde am 01. 11. 2006, 18:55 Uhr von Jan Rüther veröffentlicht.

> Moin!
>
> > Hallo ich möchte aus einem textarea alle Html-tags entfernen lassen um so eine Manipulationsfreie Eingabe zu ermöglichen.
>
> Was verstehst du denn unter einer "manipulationsfreien Eingabe"?
>
> Javascript ist zur Sicherstellung von garantierten Benutzereingaben absolut ungeeignet. Nutze serverseitige Techniken!
>
> Und vermutlich setzt du ohnehin falsch an. HTML-Tags in Benutzereingaben sind nicht böse. Sie ohne Escaping wieder an den User zu schicken ist böse.
>
> Wandle jedes Zeichen < in die Entity &lt;, jedes Zeichen > in die Entity &gt;, und jedes Zeichen & in die Entity &amp; - schon hast du keine Probleme mehr mit Cross-Site-Skripting im HTML-Kontext. Wobei die Wandlung selbstverständlich serverseitig und erst bei der Ausgabe erfolgen soll, nicht vorher.
>
> - Sven Rautenberg


Mit störendem HTML-Code sind alle Möglichen HTML-Formatierungen gemeint. Das Problem ist ein WYSIWYG-Editor der, wenn man einen Text aus Word rein kopiert oder einen Text mehrfach bearbeitet hunderte von HTML-Elementen einbaut, die es unmöglich machen weiterhin Dinge am Layout zu ändern, besonders Schriftart und Größe.

Und um jetzt arbeite ich an einem Mini-PlugIn, das ALLE HTML-Elemente per Java Script aus dem Editor-Textfeld entferne, damit das Layout über die WYSIWYG-Oberfläche neu gestaltet werden kann!
Das versuche ich mit einer  Funktion, die alle HTML-Tags entfernt bzw. durch einen Leer-String ersetzt. Also aus „<TAGNAME>“ wird „ “!

Störende Html Tags mit replace entfernen

Der folgende Beitrag wurde am 01. 11. 2006, 22:30 Uhr von Jan Rüther veröffentlicht.

Vielen Dank an beide Helfer!
Das Fragezeichen hat die Funktion ans Laufen gebracht.
Und das Kölner Grundgesetz hat mir auch einen freudigen Abend bereitet.

Störende Html Tags mit replace entfernen

Der folgende Beitrag wurde am 01. 11. 2006, 18:52 Uhr von Biesterfeld veröffentlicht.

Hej,

Unabhängig von dem was Dir schon gesagt wurde.

> var reg = /<(.*)>/;

Berücksichtige, dass * gierig ist. Was du eher bräuchtest, wäre ein zurückhaltender Platzhalter:

var reg = /<(.*?)>/;

Beste Grüße
Biesterfeld
--
Art.1: Et es wie et es
Art.2: Et kütt wie et kütt
Art.3: Et hätt noch immer jot jejange
Das Kölsche Grundgesetz

© 1998-2013 SELFHTMLImpressumSoftware: Classic Forum 3.4