Javascript是一門很好的編程語言,能夠讓網頁更加動態和實用,但有時候我們需要從用戶輸入中去掉html標簽。比如我們在從富文本編輯器取得用戶輸入時,會得到一堆帶著html標簽的內容。這在很多情況下是不能直接使用的。比如在將用戶評論顯示在頁面上時,我們需要去掉html標簽。
如何去除html標簽呢?下面我們來介紹一下幾種方法。
使用正則表達式去除html標簽
function RemoveHtmlTag(str) { str = str.replace(/<\/?[^>]*>/g,''); //去除HTML tag str = str.replace(/[ | ]*\n/g,'\n'); //去除行尾空白 str = str.replace(/\n[\s| | ]*\r/g,'\n'); //去除多余空行 str=str.replace(/ /ig,'');//去掉 return str; }
正則表達式是解決這個問題的一個很好的選擇。上面的函數中,我們使用了replace()
函數,將傳進來的字符串中的html標簽用空字符替換掉。然后我們還用了正則表達式去掉字符串中的空白和空行。
使用原生JS去除html標簽
function RemoveHtmlTag(str) { var div = document.createElement("div"); div.innerHTML = str; return div.innerText; }
如果你寧愿避免使用正則表達式,那么你可以使用原生JS去除html標簽。上面的函數中,我們創建了一個div元素,并將傳進來的字符串賦給了它的innerHTML屬性。然后我們返回div元素的innerText屬性,這將remove所有的html標簽。
使用jQuery去除html標簽
function RemoveHtmlTag(str) { var processedHtml = $("").html(str).text(); return processedHtml; }如果你使用jQuery,那么你可以用它提供的方法輕松地去除html標簽。上面的函數中,我們使用了jQuery的html()來創建一個html元素,并且把字符串賦給它的屬性。然后我們使用jQuery的text()函數來去除所有的html標簽。這就是jQuery的方便之處。
結論
無論是使用正則表達式,原生JS還是jQuery,都有很多方法可以用來去除html標簽。在選擇方法時,請根據項目的需求和自身的編程能力來選擇一個最適合的方法。這樣可以保證你的代碼更加簡潔、高效和易于維護。