Hallo,
Ich möchte aus dem String
mittles JS alle HTML-Tags heraus filtern.
var vormals = "<h1>Hier kommt</h1> Elke <b>Hinz</b> und <B>Kunz</B> nach <p>Hause</p> zum <div>Essen</div>";
//ersetze alle öffnenden 'einstelligen' tags (<b> und <p>) beliebig oft(g) und unabhängig von Groß- Kleinschreibung (i)
var jetzt = vormals.replace( /<.>/gi,"");
Natürlich könnte ich nun das ganze noch für dreistellige Tags machen, aber ich vermute mal, dass man das ganze auch in ein Statement zusammen fassen kann.
richtig, anstatt ein Zeichen zwischen < und > zu suchen, solltest du deshalb 'mindestens ein Zeichen' suchen: <.+>. Der geübte Musterungsexperte wird jetzt einwenden, dass das (und auch deine mehrstelligen Versuche) nicht funktionieren wird, weil .+ ganz gierig alles vom ersten < bis zum letzten > in der Zeile verschluckt. Deshalb muss der anspruchslose . durch eine Zeichenklasse ([]) ersetzt werden, die genau bestimmt, was zwischen öffnendem < und schließendem > kommen darf, nämlich kein (^) weiteres >: /<[^>]+>/. Und dann klappt es auch.
Gruß, Frank.