Nodejs 中如何把 html实体转换为特殊字符 (& gt;转为>) 已解决
Nodejs 中如何把 html实体转换为特殊字符 (& gt;转为>) 已解决
从mysql中查询出来的数据 特殊字符被转换成实体了(自动),现在要把它换回来 nodejs里面有没有内置的什么函数能实现这个?
Node.js 中如何把 HTML 实体转换为特殊字符(> 转为 >)已解决
在 Node.js 中,如果你需要将 HTML 实体(如 >
)转换回相应的特殊字符(如 >
),你可以使用一些第三方库来帮助你完成这个任务。一个常用的库是 he
(HTML entities 的缩写)。这个库不仅能够处理常见的 HTML 实体,还能很好地处理 Unicode 字符。
示例代码:
首先,你需要安装 he
库。可以通过 npm 来安装:
npm install he
然后,你可以使用以下代码将 HTML 实体转换为特殊字符:
const he = require('he');
// 示例 HTML 实体字符串
const htmlEntityString = 'This is a > greater than sign';
// 使用 he.decode() 方法解码 HTML 实体
const decodedString = he.decode(htmlEntityString);
console.log(decodedString); // 输出: This is a > greater than sign
解释:
- 引入库:首先通过
require('he')
引入he
库。 - 定义字符串:定义包含 HTML 实体的字符串。
- 解码实体:使用
he.decode()
方法将字符串中的 HTML 实体转换为相应的特殊字符。 - 输出结果:打印解码后的字符串,可以看到
>
已经被转换为>
。
通过这种方式,你可以轻松地将从 MySQL 查询得到的数据中的 HTML 实体转换为相应的特殊字符。这种方法适用于各种常见的 HTML 实体,并且可以很好地处理 Unicode 字符,确保你的数据在前端显示时不会出现乱码或错误的字符。
& gt; 转为 >
怎么没有修改话题的功能呢…
原来绑定的时候不该用 <%= content %> 要用 <%- content %> <%= content %> 会使用escape格式化
楼主怎么解决的?
如果是模板中使用,这么做就可以了,如果是在其他地方,需要类似操作,可以尝试用: npm install underscore.string
escapeHTML _.escapeHTML(string)
Converts HTML special characters to their entity equivalents.
_(’<div>Blah blah blah</div>’).escapeHTML(); => '<div>Blah blah blah</div>' unescapeHTML _.unescapeHTML(string)
Converts entity characters to HTML equivalents.
_(’<div>Blah blah blah</div>’).unescapeHTML(); => ‘<div>Blah blah blah</div>’
在 Node.js 中,你可以使用 he
这个库来将 HTML 实体转换回特殊字符。he
是一个轻量级且高效的库,用于处理 HTML 实体编码与解码。
首先你需要安装这个库:
npm install he
然后你可以使用以下代码将 HTML 实体转换回特殊字符:
const he = require('he');
function decodeHTMLEntities(text) {
return he.decode(text);
}
// 示例
let encodedText = "This is an & encoded string.";
let decodedText = decodeHTMLEntities(encodedText);
console.log(decodedText); // 输出: This is an & encoded string.
上面的代码中,我们定义了一个 decodeHTMLEntities
函数,它接受一个字符串参数 text
并使用 he.decode()
方法将其包含的 HTML 实体转换回对应的特殊字符。在这个例子中,&
被转换成了 &
。
he
库支持所有标准的 HTML 实体,并且还支持一些扩展的实体,这使得它非常适合处理从数据库中获取的数据,这些数据可能包含 HTML 实体。如果你有更复杂的编码需求(例如处理 CDATA 部分),可以查阅 he
的官方文档以了解更多信息。
通过这种方式,你可以轻松地将从 MySQL 数据库查询得到的包含 HTML 实体的文本转换回其原始形式。