javascript 怎么将html字符实体 转换成 正常显示的字符

html-css07

javascript 怎么将html字符实体 转换成 正常显示的字符,第1张

您好,您这样:

<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