Кодировать HTML до POST

У меня есть следующий скрипт, который кодирует часть значения, которое он получает должным образом, но он, похоже, не кодирует двойные кавычки.

Как правильно кодировать полное значение перед публикацией?

function htmlEncode(value){ return $('
').text(value).html(); }

Вышеприведенный сценарий дает мне следующее:

 <p>Test&nbsp; <span style="color: #ffffff"><strong><span style="background-color: #ff0000">1+1+1=3</span></strong></span></p> 

Мне нужно это, чтобы дать мне следующее:

 <p>Test&nbsp; <span style="color: #ffffff"><strong><span style="background-color: #ff0000">1+1+1=3</span></strong></span></p> 

EDIT: следующий вопрос: закодированный HTML в базе данных назад к странице

Вы не должны пытаться кодировать вещи с помощью JavaScript.

Вы должны закодировать его на сервере.

Все, что можно сделать с помощью JavaScript, можно отменить.

Действительно, чтобы закодировать его в JavaScript, если вы также проверяете, что он был закодирован на сервере, но имейте в виду: JavaScript можно отключить.

То, что говорит Джордж, верно . Но, если вам нужно кодировать строки на стороне клиента, я бы предложил вам использовать encodeURIComponent () JavaScript.

Вы можете использовать этот модуль в js, не требуя jQuery:

HtmlEncode

У меня была аналогичная проблема. Я просто использовал метод replace в javascript. Вот хорошая статья: http://www.w3schools.com/jsref/jsref_replace.asp

В основном, что делает метод replace, он заменяет или заменяет найденный символ тем, что вы указываете как символ замены.

Итак, это:

 var str=' " That " '; str = str.replace(/"/g,'"'); 

Как только вы зарегистрируете это в консоли своего браузера, вы получите что-то вроде

 " That " 

И это:

 var str=' " That " '; str = str.replace(/"/g,'blahblahblah'); 

Как только вы зарегистрируете это в консоли своего браузера, вы получите что-то вроде

 blahblahblah That blahblahblah 

Вы можете повторно использовать функции из проекта php.js – htmlentities и get_html_translation_table

Использовать escape (str) на стороне клиента

а также

HttpUtility.UrlDecode (str, System.Text.Encoding.Default); на стороне сервера

это сработало для меня.