Встроенная функция Javascript, такая как unescape()
, decodeURIComponent()
, не имеет ничего общего со строкой, с которой вы работаете, потому что та, которую вы хотите декодировать, - это HTML-элементы.
В Javascript нет доступного декодера HTML entites, но поскольку вы работаете с браузером, если строка считается безопасной , вы можете сделать следующее (например, в JQuery)
var str = $('<p />').html(str).text();
Он вставляет строку в виде HTML в элемент <p>
, а затем извлекает текст внутри.
Редактировать: Я просто понимаю, что вывод JSP, который вы разместили, не является реальными объектами HTML; Чтобы обработать данный пример, вы должны использовать следующее, добавляя &
перед каждым #1234;
и делая его Ӓ
:
var str = $('<p />').html(str.replace(/\#(\d+)\;/g '&#$1;')).text();