从javascript字符串中删除HTML标记
我有这个代码:
var content = "Dear sms,
This is a test notification for push message from center II.
";
我想从上面的字符串中删除所有
和
标记。 只想显示没有html标签的字符串值,如:
"Dear sms, This is a test notification for push message from center II."
为什么不让jQuery这样做呢?
var content = "Dear sms,
This is a test notification for push message from center II.
"; var text = $(content).text();
这是我的解决方案,
function removeTags(){ var txt = document.getElementById('myString').value; var rex = /(<([^>]+)>)/ig; alert(txt.replace(rex , "")); }
使用普通的javascript:
content = content.replace(/(|<\/p>)/g, "");
您可以使用jQuery text()来获取without
html标记的纯文本。
现场演示
withoutP = $(content).text()
var content = "a
"; var withoutP = $(content).text() alert(withoutP )
这个不适用于.text()解决方案。
这个是检查特殊字符
var $string = '<a href="https://stackoverflow.com/questions/13911681/remove-html-tags-from-a-javascript-string/link">aaa</a>'; var $string2 = 'aaa'; var $string3 = 'BBBBB'; var $string4 = 'partial
将hidden element
放在标记中,或者从jQuery创建它。 使用此代码获取纯文本而不会出现不完整标签的复杂情况, <
等等
content = $(hiddenElement).html($(hiddenElement).html(content).text()).text();
以上approch不适合我。 所以我有一个解决这个问题的替代解决方案
var regex = "/<(.|\n)*?>/"; var originaltext = "1. Males and females were compared in terms of time management ability.
The independent variables were the people in the study.
Is this statement correct"; var resultText = body.replace(regex, ""); console.log(result);
使用正则表达式:
var cleanContent = content.replace(/(<([^>]+)>)/ig,"");
function htmlTagremove(text) { var cont = document.createElement('div'), cont.innerHTML=text; return $(cont).text(); } htmlTagremove('test');