title: HTML特殊字符转义html
date: 2019-02-18 21:57:00apache
categories:json
tags: [tech,HTML,SpecialCharacters,Java,JavaScript]bash
若是HTML的DOM元素的属性值中含有特殊字符,会形成属性值取值错误。ide
例如:ui
<input type="button" value=" "name":"Tom" " id="test"/>
复制代码
上面input的value属性值含有双引号,会形成最后解析到的value是空格。spa
解决的办法就是对数据进行转义,转义成HTML特殊符号的转义字符。.net
经常使用的HTML特殊字符转义对照表:code
字符 | 十进制 | 转义字符 |
---|---|---|
" | " |
" |
& | & |
& |
< | < |
< |
> | > |
> |
不断开空格(non-breaking space) |   |
|
经过Java转义:htm
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 "<"; case ">":return ">"; case "&":return "&"; case "\"":return """;
}
});
}
var h=document.getElementsByTagName("input")[0];
h.value=htmlEscape("[{\"name\":\"A Girl\'s Guide\"}]");
</SCRIPT>
</body>
</HTML>
复制代码
这样,就能够在HTML的标签中合法地使用特殊字符了。
固然,对于其余要求严格的格式(如XML,JSON,URL等),遇到特殊字符,也是经过转义实现的,小伙伴们能够本身尝试一下。
links:
author: ijiangtao.net