方法一:
用的瀏覽器內(nèi)部轉(zhuǎn)換器實(shí)現(xiàn)轉(zhuǎn)換,方法是動(dòng)態(tài)創(chuàng)建一個(gè)容器標(biāo)簽元素,如DIV,將要轉(zhuǎn)換的字符串設(shè)置為這個(gè)元素的innerText,然后返回這個(gè)元素的innerHTML,即得到經(jīng)過HTML編碼轉(zhuǎn)換的字符串。
function HTMLEncode ( input ) { var converter = document.createElement("DIV"); converter.innerText = input; var output = converter.innerHTML; converter = null; return output; }
當(dāng) 然,還可以用相同的方法實(shí)現(xiàn)對(duì)字符串的HTMLDecode解碼,但有個(gè)問題就是緊跟在字符" <"后面的非空字符將連同字符" <"同時(shí)顯示不出來。當(dāng)然,對(duì)字符串作相應(yīng)處理是可以解決這個(gè)問題的,比如在字符" <"后面加個(gè)空格,解碼后再去掉就行,這是后話。畢竟,要使用 HTMLDecode方法解碼,自然是字符串已經(jīng)經(jīng)過HTMLEncode方法編碼了,而經(jīng)過HTMLEncode編碼后的字符串,是不可能有字符 " <"存在的。
function HTMLDecode ( input ) { var converter = document.createElement("DIV"); converter.innerHTML = input; var output = converter.innerText; converter = null; return output; }
方法二:
<script language=javascript> function HTMLEnCode(str) { var s = ""; if (str.length == 0) return ""; s = str.replace(/&/g, ">"); s = s.replace(/ </g, "<"); s = s.replace(/>/g, ">"); s = s.replace(/ /g, " "); s = s.replace(//'/g, "'"); s = s.replace(//"/g, """); s = s.replace(//n/g, " <br>"); return s; } function HTMLDeCode(str) { var s = ""; if (str.length == 0) return ""; s = str.replace(/>/g, "&"); s = s.replace(/</g, " <"); s = s.replace(/>/g, ">"); s = s.replace(/ /g, " "); s = s.replace(/'/g, "/'"); s = s.replace(/"/g, "/""); s = s.replace(/ <br>/g, "/n"); return s; } </script>
以上就是小編為大家?guī)淼膉s轉(zhuǎn)html實(shí)體的方法的全部?jī)?nèi)容了,希望對(duì)大家有所幫助,多多支持武林網(wǎng)~
新聞熱點(diǎn)
疑難解答
圖片精選
網(wǎng)友關(guān)注