@@suit:
nuqneH
Es gibt die Methode String.[ref:self812;javascript/objekte/string.htm#from_char_code@title=fromCharCode]()
, die das Zeichen zu einen Codepoint (den man aus einer NCR erhält) liefert.
Warum eine funktion?
Darum:
String.prototype.unescape = function ()
{
return this.replace(/&#([0-9]+);/g, function (m, u) { return String.fromCharCode(parseInt(u, 10)); });
};
var s = "It's Goin' Down";
s = s.unescape();
alert(s);
Das lässt sich auch auf hexadezimale NCRs erweitern:
String.prototype.unescape = function ()
{
return this.replace(/&#x([0-9a-f]+);/gi, function (m, u) { return String.fromCharCode(parseInt(u, 16)); }).replace(/&#([0-9]+);/g, function (m, u) { return String.fromCharCode(parseInt(u, 10)); });
};
Etwas unschön daran, dass man zweimal mit einem regulären Ausdruck drüber muss.
Qapla'
--
Gut sein ist edel. Andere lehren, gut zu sein, ist noch edler. Und einfacher.
(Mark Twain)
Gut sein ist edel. Andere lehren, gut zu sein, ist noch edler. Und einfacher.
(Mark Twain)