Javascript ist Toll!

26. August 2005 - 01:21

Wie kann ich alle HTML Tags entfernen?

Die Funktion stripHTML() löscht alle HTML Tags in einem String.

Die Funktion stripHTML() wurde am 21.7.2010 überarbeitetet. Sie ist nun in der Lage auch mit HTML Tags umzugehen, die HTML Zeichen in den Attributen haben. Also z.b. so etwas: <p title="Ich bin kleiner < als der größere >">, was in der vorherigen Version nicht möglich war, wie schon Christoph in den Kommentaren schrieb.

javascript
function stripHTML(str){
	// remove all string within tags
	var tmp = str.replace(/(<.*['"])([^'"]*)(['"]>)/g, 
	function(x, p1, p2, p3) { return  p1 + p3;}
	);
	// now remove the tags
	return tmp.replace(/<\/?[^>]+>/gi, '');
}

stripHTML() in der Version vom 21.7.2010

Die Funktion trim() löscht alle Zeilenumbrüche, Leerzeichen am Anfang und Ende und doppelten Leerzeichen.

javascript
function trim (str) {
    return str.replace(/[\n\r]/g, ' ').replace(/ +/g, ' ').replace(/^\s+/g, '').replace(/\s+$/g, '');
}

Test

Ähnliche Artikel

  • 13. Mai 2009 -- String Erweiterungen (5)

    Eine der Eigenschaften von Javascript, die sie von anderen Programmiersprachen abhebt, ist die prototypische Vererbung. Kurz gesagt bedeutet das, dass jedes Objekt eine Eigenschaft .prototype besitzt,...

  • 9. Januar 2006 -- strftime() in Javascript (0)

    Demonstration einer Javascript Umsetzung der Funktion strftime()

Comments (4)
9021 mal gelesen.
flattr

4 Kommentare

Hinterlasse einen Kommentar »

Seiten:

1. Kommentar von: Christoph Zurnieden
5. Oktober 2005: 23:27

Hi,

stripHTML ist ein wenig arg simpel. Einen vollständigen Parser zu bauen ist zwar kaum möglich (und natürlich auch unsinnig), aber das Zeichen ‘>’ ist durchaus auch zwischendurch zulässig:
<a href=”foo.html” [Anmerkung: Hier hat wohl der Parser von WordPress was entfernt, den muss ich wohl noch mal nachjustieren.Struppi] this.baz)foobar(this.bar);else foobar(this.baz);return false;”>
Muß nicht unbedingt eingebaut werden, aber eine kleine Notiz wäre vll sinnvoll.

Die Mehrfachleerzeichen in trim() würde ich ebenfalls über ‘\s’ erfassen, da ‘\s’ Locale-abhängig ist. Oder doch zumindest den Tabulator ‘\t’ mit erfaßt.

so short

Christoph Zurnieden

PS: ich suchte erst vergeblich einen Button bis ich in den Code schaute. onchange() ist nicht nett zu so einem altem Sack wie mir ;-)
CZ

2. Kommentar von: Struppi
6. Oktober 2005: 14:01

a. absolut korrekt
Aber, da die Funktion wohl selten für komplexen Code gebraucht wird, dürfte sie anders als z.b. in PHP oder Perl meistens ausreichen.

b. versteh ich nicht so ganz, bei Leerzeichen spielt locale wohl keine Rolle, aber das Tab sollte noch rein, stimmt.

c. (das P.S.) da bin sogar schon selber drüber gestolpert, als ich die Funktion nach einiger Zeit mal wieder selber getestet habe, Button kommt rein.

3. Pingback von: Gedankensuppe » Blog Archive » JavaScript code snippets
1. Februar 2011: 13:14

[...] Blog von Struppi bin ich über zwei JavaScript Code-Snippets gestolpert, die doch noch verbessert werden konnten. [...]

4. Kommentar von: Jürg
5. März 2014: 14:08

Mir fehlen Leerzeichen wenn entfernt wird.
- Bsp.: Ein Absatzmit etwas Text.

Hinterlasse einen Kommentar

Name (erforderlich)
Mail (wird nicht angezeigt) (erforderlich)
Website

Folgende HTML Tags sind erlaubt: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>



Powered by WordPress Stop Spam Harvesters, Join Project Honey Pot kostenloser Counter Browser-Statistiken
rats-wonderful
rats-wonderful
rats-wonderful
rats-wonderful