Javascript对服务器上的HTML实体进行编码

时间:2014-03-15 06:45:58

标签: javascript html parse-platform html-entities

在我的服务器应用程序中(在Parse Cloud Code上),我想保存一些字符串数据。这里有HTML实体,我想编码。

所以我找到了一个使用Javascript的解决方案:

var txt = document.createElement("textarea");
txt.innerHTML = html;
return txt.value;

此代码在html页面上完美运行,其中document存在。但是服务器上没有这样的变量。

我如何申报文件变量?或者您可能知道另一种编码HTML实体的解决方案。

3 个答案:

答案 0 :(得分:1)

您可以在Node上使用html-entities,安装方式如下:

npm install html-entities

然后您获得了entities.encode(..)entities.decode(..)个功能:

var Entities = require('html-entities').XmlEntities;
entities = new Entities();
console.log(entities.encode('<>"\'&©®')); // &lt;&gt;&quot;&apos;&amp;©®

usage部分中有更多关于gihub repo的例子。

答案 1 :(得分:1)

function encode(r){
return r.replace(/[\x26\x0A\<>'"]/g,function(r){return"&#"+r.charCodeAt(0)+";"})
}

test.value=encode('How to encode\nonly html tags &<>\'" nice & fast!');

/*************
* \x26 is &ampersand (it has to be first),
* \x0A is newline,
*************/
<textarea id=test rows=11 cols=55>www.WHAK.com</textarea>

答案 2 :(得分:0)

自从我问这个问题以来,我学习了JavaScript和AJAX。所以,我的建议是使用AJAX和JSON进行浏览器和服务器端之间的通信。