Jag förstår JesperT som att han vill ta bort alla HTML-taggar, så att
<p>Lite text <i>och kursiv text</i></p>
blir
Lite text och kursiv text
Ett sätt att göra det:
<script type="text/javascript">
function RemoveHTML( strText ){
var re = /<[^>]>/g;
var strText = strText.replace(re, "");
return strText;
}
var htmlStr = "<html>aaa</html>";
document.write(RemoveHTML(htmlStr));
</script>
Eller på ett objektorienterat sätt:
<script type="text/javascript">
String.prototype.RemoveHTML = function(){
var re = /<[^>]>/g;
return this.replace(re, "");
}
var htmlStr = "<html>aaa</html>";
document.write(htmlStr.RemoveHTML());
</script>
dectgap, ditt exempel fungerar inte! Jag prövade att byta ut document.write mot alert, och upptäckte att taggarna var kvar. Fast det märktes ju inte med d.w, eftersom taggarna slukades. För ett sånt här exempel kanske det är bättre att använda <b> eller liknande tagg så man direkt ser om det funkar.
dectgap, ditt exempel fungerar inte! Jag prövade att byta ut document.write mot alert, och upptäckte att taggarna var kvar. Fast det märktes ju inte med d.w, eftersom taggarna slukades. För ett sånt här exempel kanske det är bättre att använda <b> eller liknande tagg så man direkt ser om det funkar.
Tjosan.
Jag glömde en "quantifier".
Om jag hade använt <b> hade det faktiskt gått bra, eftersom regexpen hade matchat ett-tecken-lång element.
Följande ska fungera bättre:
<script type="text/javascript">
String.prototype.RemoveHTML = function(){
var re = /<[^>]+>/g;
return this.replace(re, "");
}
var htmlStr = "</b>aaa</b>";
alert(htmlStr.RemoveHTML());
</script>