簡體   English   中英

如何使用Javascript / jQuery從div內容中剝離HTML標簽?

[英]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


最終代碼:

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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM