HTML特殊字符转义

简介: HTML特殊字符转义

问题

如果HTML的DOM元素的属性值中含有特殊字符,会造成属性值取值错误。

例如:

<input type="button" value=" "name":"Tom" " id="test"/>   

上面input的value属性值含有双引号,会造成最后解析到的value是空格。

解决方案

解决的办法就是对数据进行转义,转义成HTML特殊符号的转义字符。

常用的HTML特殊字符转义对照表:

字符 十进制 转义字符
" &#34; &quot;
& &#38; &amp;
< &#60; &lt;
| &#62;| &gt;|
不断开空格(non-breaking space)| &#160;| &nbsp;|

实现

通过Java转义:

org.apache.commons.lang3.StringEscapeUtils.escapeHtml4(com.alibaba.dubbo.common.json.Json.json(obj));

通过Js转义:

<span style="font-size:18px;"><!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">  
<HTML>  
<HEAD>  
 <TITLE>test</TITLE>  
</HEAD>  
  
<body>  

<input type="button" value="" id="test"/>   

 <SCRIPT LANGUAGE="JavaScript">  
    function htmlEscape(text){ 
          return text.replace(/[<>"&]/g, function(match, pos, originalText){
            switch(match){
            case "<": return "&lt;"; 
            case ">":return "&gt;";
            case "&":return "&amp;"; 
            case "\"":return "&quot;"; 
          } 
        }); 
    }
    var h=document.getElementsByTagName("input")[0];

    h.value=htmlEscape("[{\"name\":\"A Girl\'s Guide\"}]");
 </SCRIPT>  
 
</body>  
</HTML>

这样,就可以在HTML的标签中合法地使用特殊字符了。

当然,对于其他要求严格的格式(如XML,JSON,URL等),遇到特殊字符,也是通过转义实现的,小伙伴们可以自己尝试一下。


links:


目录
相关文章
HTML输出特殊字符详细方法
以下是部分特殊字符代码表,它们的完整应用代码格式为:`&#××××;`用下面的四位数字替换×,将得到对应的符号。(注意:应用这些代码,编辑器应该切换到HTML模式)
|
2天前
|
开发者
HTML 实体字符简介
HTML 实体字符简介
10 2
|
3天前
|
JSON PHP 数据格式
php 富文本双引号问题,将双引号变为&quot;html转义入库
php 富文本双引号问题,将双引号变为&quot;html转义入库
5 0
|
2月前
|
前端开发 开发者
在HTML中,可以使用字符实体`&copy;`来显示版权符号
【4月更文挑战第30天】在HTML中,可以使用字符实体`&copy;`来显示版权符号
100 2
|
2月前
|
前端开发 JavaScript 安全
【网络安全/前端XSS防护】一文带你了解HTML的特殊字符转义及编码
【网络安全/前端XSS防护】一文带你了解HTML的特殊字符转义及编码
238 0
|
2月前
|
前端开发 搜索推荐
【HTML专栏4】常用标签(标题、段落、换行、文本格式化、注释及特殊字符)
【HTML专栏4】常用标签(标题、段落、换行、文本格式化、注释及特殊字符)
26 0
HTML常用的特殊字符大全
以下的页面中,罗列出了很多类别各式各样的特殊字符,通常你可以直接复制它们直接使用。
|
8月前
|
JavaScript
如何让html标签不转义
如何让html标签不转义
101 0
|
8月前
|
JavaScript Python
21 Django模板 - HTML转义
21 Django模板 - HTML转义
48 0
|
11月前
|
前端开发 JavaScript Java
HTML的笔记和案列以及常用特殊字符
HTML的笔记和案列以及常用特殊字符
67 0