![](/img/trans.png)
[英]Strip HTML tags, but keep content within ( javascript / jquery )
[英]How to strip HTML tags from div content using Javascript/jQuery?
我做了一個div
標簽,並將其內容存儲在一個變量中。 如果此標簽包含p,b
或任何其他標簽,則應將其從字符串中刪除。 我該如何實現?
使用正則表達式。
var regex = /(<([^>]+)>)/ig
var body = "<p>test</p>"
var result = body.replace(regex, "");
alert(result);
這是演示
希望這可以幫助。
您可以按照以下示例
var stringContent = "<p>Hi dear</p><p>Wish you a happy birthday</p>";
var text = $(stringContent).text();
這樣更安全:
function plaintext(html){
return $("<div/>").html(html).text();
}
我想在可接受的答案之上添加一些內容,這表明正則表達式
var regex = /(<([^>]+)>)/ig
:
i
標志,因為您不匹配任何字母字符。 看到這里: http : //jsfiddle.net/66L6nfwt/2/ <
和>
,它將失敗。 看到這里: http : //jsfiddle.net/66L6nfwt/4/ /<\\/?\\w+[^>]*\\/?>/g
。 看到這里: http : //jsfiddle.net/66L6nfwt/5/ 最終代碼:
var regex = /<\/?\w+[^>]*\/?>/g,
body = "<sTrong><b>test<b></STRONG><b> sss</b><em> what if you write some maths: i < 2 && i > 4.</em>";
alert(body.replace(regex, ""));
將函數放置在內置的“ String”類中也可能會有幫助,因此您可以直接執行以下操作:
"<em>test</em>".stripTags()
String.prototype.stripTags = function()
{
return this.replace(/<\/?\w+[^>]*\/?>/g, '');
};
最終,如果您的字符串是DOM節點,則可以執行alert(element.innerText || element.textContent);
這是內置的,甚至更安全! 在此處查看示例: http : //jsfiddle.net/66L6nfwt/6/
使用普通的JavaScript,你可以做到
string.replace(/(<([^>]+)>)/ig,"");
我認為這可能比.text()方法快。
使用JQuery的解決方案:
var content = "<p>Dear Andy,</p><p>This is a test message.</p>";
var text = $(content).text();
使用JavaScript的解決方案:
function removeTags(){
var txt = document.getElementById('myString').value;
var rex = /(<([^>]+)>)/ig;
alert(txt.replace(rex , ""));
}
還要查看此鏈接: 在JavaScript中剝離HTML標簽
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.