轉義的 HTML 字符進行轉義。
JavaScript
const unescapeHTML = str =>
str.replace(
/&|<|>|'|"/g,
tag =>
({
'&': '&',
'<': '<',
'>': '>',
''': "'",
'"': '"'
}[tag] || tag)
);
示例代碼:
unescapeHTML('<a href="#">Me & you</a>');
// '<a href="#">Me & you</a>'
更多內容請訪問我的網站:https://www.icoderoad.com
產生原因:
我們知道html是如這些標簽包含的格式化文本,當用瀏覽器打開時,瀏覽器內部的標簽解釋器把不同的標簽解釋為不同的含義。這時默認所有內容都是在標簽之內的,標簽本身并不是內容。如果內容中也有標簽怎么辦?這是個問題嗎?當然。當一個負責講解html是什么的頁面輸出時,html頁面中必然包含有標簽需要輸出顯示,而瀏覽器并不能智能的分清楚哪些是需要解釋哪些不需要。
解決方法:
其中一個辦法就是轉義。為了區分需要解釋和不需要解釋的<>,將不需要解釋的<>用轉義字符代替,html會將它們解釋為<>。和html一樣,其他編程語言也有一些內置特殊符號需要用這樣的方法處理,比如php中的$,下面列舉一些:
如HTML轉義符、java 轉義符、xml 轉義符、 oracle 轉義符、sql 轉義符 、sqlserver 轉義符、php 轉義符、asp 轉義符、vb轉義符、 javascript 轉義符等等,還有網址中的百分號。
轉義字符串有三部分組成:
&符號+實體名稱/編號+;符號
例如,HTML的< >&"?的轉義字符串分別是
“&lt;”或者“&#60;”
“&gt;”或者“&#62;”
“&amp;”或者“&#38;”
“&quot;”或者“&#34;”
“&copy;”或者“&#169;”
在高級編程語言中已經將轉義字符的轉義處理做成了函數。如php中的htmlspecialchars()負責將函數參數轉為對應的轉義字符串
ext()方法會把包含的字符轉義處理,html()則不會.所謂轉義就是字符的另一種顯示方法,例如"<" 顯示成 "<",這就是轉義了,其中的<就是<的轉義字符.還有很多可以轉義的字符,可以搜索下看看.
下邊是項目中用到的2個語句:span中包含了jquery的語句輸出結果.
1. $('.title').text("<img src=" ">");
顯示結果為<img src=" ">,這里的<img src=" ">不會被解析成html的img標簽,而是以存字母文字的形式顯示,也就是單純的字符串:<img src=" "> .并且f12查看源碼時看到span包含的<img src=" ">文字內容外層有雙引號哦.看下圖,
?
如果你用右鍵選擇編輯為html,則看到其中的轉義字符<這就說明我們的<被轉移了,
?
如果我們想把<img>顯示成標簽,被瀏覽器解析.那么就需要如下方法.
2. $('.title').html("<img >");
顯示結果為解析后的html代碼段,那么這里的<img >就會按照h5的標簽img圖片進行解析顯示了.下圖是f12的頁面代碼結果span中的<img>標簽外層無雙引號,且頁面此時會顯示出來圖片.
?
?
*請認真填寫需求信息,我們會在24小時內與您取得聯系。