相当于PHP中htmlspecialchars的Node.js

时间:2018-10-24 10:14:22

标签: php mysql node.js ejs

我实际上是从我的mysql数据库中获取数据,其中有带有重音符号的文本

  

“éèàê......

但是当我使用node.js将其渲染到我的ejs文件时,它会向我显示

  

“hélo”代表“hélo”

。 问题是使用PHP和函数htmlspecialchars(str);的easyli求解器 Node中是否有与此功能等效的功能?

谢谢

1 个答案:

答案 0 :(得分:0)

首先,如果您正确设置了编码(在html页面和数据库中,或者在插入之前/选择之后进行了转换),则无需将特殊字符转换为HTML实体,从而避免了上述行为。应该使用Enter location: http://py4e-data.dr-chuck.net/geojson? Retrieving http://python-data.dr-chuck.net/geojson?sensor=false&address=http%3A%2F%2Fpy4e-data.dr-chuck.net%2Fgeojson%3F Retrieved 10092 characters --------------------------------------------------------------------------- IndexError Traceback (most recent call last) <ipython-input-2-a72864740266> in <module>() 15 16 #print json.dumps(json_data['results'], indent=3) ---> 17 print ('Place id',json_data['results'][0]['place_id']) IndexError: list index out of range 来防止人们发布HTML(将htmlspecialchars()<转换为>&lt;)。

如果您仍然需要转义HTML特殊字符,请查看以下NPM软件包:https://www.npmjs.com/package/html-entities

像这样使用它:

&gt;

将输出

const Entities = require('html-entities').AllHtmlEntities;
const entities = new Entities();

console.log(entities.encode("éèàâê");