Как раскодировать строку которая приходит с сервера?
Здравствуйте, подскажите пожалуйста.
На сервере, как и на клиенте стоит проверка, что если пользователь вводит html теги, то их нужно кодировать, функция выглядит таким образом:
var encodeHtmlEntities = function (str) {
return String(str)
.replace(/&/g, '&')
.replace(/</g, '<')
.replace(/>/g, '>')
.replace(/"/g, '"')
.replace(/'/g, ''')
.replace(/\\/g, '\')
.replace(/\//g, '/');
};
Проблема в том, что сервер так же кодирует сообщения перед тем, как их отправить, то есть мне приходит уже вот такая строка: <script>alert(1)</script> И если я ее вставлю в ui то она в таком виде и будет. А мне нужно сделать так, чтоб она в ui выглядела вот так <script>alert(1)</script> Я так понимаю, что мне ее нужно сначала раскодировать, а потом снова закодировать и вставить в ui? Вопрос: должна выглядеть функция раскодирования? Спасибо за помощь и ваше время. |
Вставлять надо не как текст а как html, очевидно.
Да и кодировать проще через текст ноду. НО. Даже если вы совсем не понимаете, что и как делаете(из вопроса очевидно), элементарная логика должна бы подсказать, что чтобы раскодировать закодированное можно применить ту же самую функцию просто поменяв местами текст между // и между ''. |
Цитата:
|
На сервере, как и на клиенте стоит проверка, что если пользователь вводит html теги
Это не кодирование, а преобразует в HTML-сущности, и если после этого вы делаете обратное, то зачем пропускаете полученное от клиента через htmlspecialchars? |
| Часовой пояс GMT +3, время: 16:25. |