Как преобразовать номер сущности HTML в символ, используя обычный JavaScript или jQuery?

Я ищу способ преобразования номеров сущностей HTML в символ, используя обычный JavaScript или jQuery.

Например, у меня есть строка, которая выглядит следующим образом (Спасибо, jQuery! Punk.)

Range1-of-5

И что мне нужно это:

Range1-of-5

Я нашел String.fromCharCode(), где я могу получить символ только с десятичным значением, но я хотел бы узнать, есть ли у кого-нибудь еще решение, прежде чем я, возможно, заново изобрету колесо.:)

3 ответа

Решение
$("<div/>").html("Range1&#45;of-5").text()

http://jsfiddle.net/durilai/tkwEh/

Путь jQuery выглядит лучше, но если вам интересно, вот чистая версия JS:

function decode(encodedString) {
    var tmpElement = document.createElement('span');
    tmpElement.innerHTML = encodedString;
    return tmpElement.innerHTML;
}

decode("Range1&#45;of-5");

Нет необходимости использовать jQuery для этой простой задачи:

'Range1&#45;of-5'.replace(/&#(\d+);/g, function(match, number){ return String.fromCharCode(number); })

Тот же принцип может быть применен к & # xHHHH; и & имя; юридические лица.

Другие вопросы по тегам