Ersetzen von & amp; nbsp; von Javascript dom Textknoten

Ich bin Verarbeitung von xhtml mit javascript. Ich bin immer der Textinhalt für einen div-Knoten, die durch verketten der nodeValue alle untergeordneten Knoten, wo nodeType == Node.TEXT_NODE.

Die resultierende Zeichenfolge enthält manchmal ein non-breaking-space-Einheit. Wie Ersetze ich diese mit einem normalen Leerzeichen?

Mein div sieht so aus...

<div><b>Expires On</b> Sep 30, 2009 06:30&nbsp;AM</div>

Die folgenden Vorschläge, die auf dem web gefunden habe nicht funktioniert:

var cleanText = text.replace(/^\xa0*([^\xa0]*)\xa0*$/g,"");


var cleanText = replaceHtmlEntities(text);

var replaceHtmlEntites = (function() {
  var translate_re = /&(nbsp|amp|quot|lt|gt);/g;
  var translate = {
    "nbsp": " ",
    "amp" : "&",
    "quot": "\"",
    "lt"  : "<",
    "gt"  : ">"
  };
  return function(s) {
    return ( s.replace(translate_re, function(match, entity) {
      return translate[entity];
    }) );
  }
})();

Irgendwelche Vorschläge?

InformationsquelleAutor der Frage user158678 | 2009-09-30

Schreibe einen Kommentar