Javascript кодирует HTML-сущности на сервере

0

В моем серверном приложении (в Parse Cloud Code) я хочу сохранить некоторые строковые данные. Здесь есть объекты HTML, которые я хочу кодировать.

Поэтому я нашел решение с Javascript:

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

Этот код отлично работает на html-страницах, где существует document. Но на сервере нет такой переменной.

Как я могу объявить переменную документа? Или, может быть, вы знаете другие решения для кодирования объектов HTML.

Теги:
parse.com
html-entities

3 ответа

0
Лучший ответ

Поскольку я задал этот вопрос, я изучил JavaScript и AJAX. Итак, мое предложение будет использовать AJAX и JSON для связи между браузером и сервером.

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>
1

Вы можете использовать html-сущности на узле, установить его так:

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;

есть больше примеров использования в gihub repo.

Ещё вопросы

Сообщество Overcoder
Наверх
Меню