<html>
<head>
<title>字符转HTML实体编码</title>
<script>
function $(id) {return document.getElementById(id)}
function htmlEncode(input)
{
var code = input.charCodeAt()// 获得实体编码
var div = $("divCode")
/*
* 实体编码的格式是:数字
* &是 &
* # 是 #
* code 用户输入的字的实体编码
* 是
*
* 如果直接写成 "" + code + ""的形式会被浏览器直接解析为对应的字符,从而失去了编码的作用。
*/
div.innerHTML = "&" + "&#35" + code + "&#59"//String.fromCharCode(code)解码
}
</script>
</head>
<body>
<input type="text" onchange="htmlEncode(this.value)"/>
<div id="divCode"></div>
</body>
</html>
使用 String.fromCharCode(code)便可以将实体编码转换回字符。
这个函数在很多场合下都能使用,这是整理后的希望能帮到你。函数名:htmlspecialchars_decode
(PHP 5 >= 5.1.0, PHP 7, PHP 8)
htmlspecialchars_decode — 将特殊的 HTML 实体转换回普通字符
说明
htmlspecialchars_decode ( string $string , int $flags = ENT_COMPAT | ENT_HTML401 ) : string
此函数的作用和 htmlspecialchars() 刚好相反。它将特殊的HTML实体转换回普通字符。
被转换的实体有: &, " (没有设置ENT_NOQUOTES 时), ' (设置了 ENT_QUOTES 时), <以及>。
参数
string
要解码的字符串
flags
用下列标记中的一个或多个作为一个位掩码,来指定如何处理引号和使用哪种文档类型。默认为 ENT_COMPAT | ENT_HTML401。
有效的 flags 常量
常量名 说明
ENT_COMPAT 转换双引号,不转换单引号。
ENT_QUOTES 单引号和双引号都转换。
ENT_NOQUOTES 单引号和双引号都不转换。
ENT_HTML401 作为HTML 4.01编码处理。
ENT_XML1 作为XML 1编码处理。
ENT_XHTML 作为XHTML编码处理。
ENT_HTML5 作为HTML 5编码处理。
返回值
返回解码后的字符串。
更新日志
版本 说明
5.4.0 增加了 ENT_HTML401、ENT_XML1、 ENT_XHTML 和 ENT_HTML5 等常量。
范例
示例 #1 一个 htmlspecialchars_decode() 的例子
this ->"
\n"
echo htmlspecialchars_decode($str)
// 注意,这里的引号不会被转换
echo htmlspecialchars_decode($str, ENT_NOQUOTES)
?>
什么叫实体化:就是将html标签(如“<”,“>”等)转化成用ASCII表示的形式。
举个例子:
<?php$str = "A 'quote' is <b>bold</b>"
// Outputs: A 'quote' is &ltb&gtbold&lt/b&gt
echo htmlentities($str)
// Outputs: A &#039quote&#039 is &ltb&gtbold&lt/b&gt
echo htmlentities($str, ENT_QUOTES)
有啥作用:一般是过滤用户输入
参考资料:http://w3school.com.cn/html/html_entities.asp