转换实体引用,是将 HTML 中的特殊字符(例如小于号 <、大于号 >、引号 " 等),转换为对应的字符实体,以便在浏览器中正确显示。实体引用以 & 符号开头,以分号 ; 结尾,例如 < 表示小于号 <。
下面是转换实体引用的方法:
1. 对于单个特殊字符,可以直接通过其对应的实体引用替换。例如,将 < 替换为 <。
2. 如果需要对一段文本进行转义,可以使用字符串函数 escape() 和 unescape()。其中,escape() 函数可以将一个字符串转换为十六进制编码的 Unicode 字符串,用法如下:
```
var str = "<p>这是一个段落</p>";
var result = escape(str);
console.log(result); // "%3Cp%3E%E8%BF%99%E6%98%AF%E4%B8%80%E4%B8%AA%E6%AE%B5%E8%90%BD%3C%2Fp%3E"
```
在上面的例子中,escape() 函数将字符串中的特殊字符转换为它们对应的十六进制编码,例如小于号 < 被转换为 %3C。
unescape() 函数则可以将 escape() 函数转换的十六进制编码还原成原始字符串,用法如下:
```
var str = "%3Cp%3E%E8%BF%99%E6%98%AF%E4%B8%80%E4%B8%AA%E6%AE%B5%E8%90%BD%3C%2Fp%3E";
var result = unescape(str);
console.log(result); // "<p>这是一个段落</p>"
```
在上面的例子中,unescape() 函数将十六进制编码还原成了原始字符串。
总的来说,转换实体引用可以保证 HTML 中的特殊字符能够正确显示,避免出现解析错误或安全问题。