我正在使用 javascript 处理 xhtml。我通过连接 nodeType == Node.TEXT_NODE 的所有子节点的 nodeValue 来获取 div 节点的文本内容。
生成的字符串有时包含一个不间断的空格实体。如何用常规空格字符替换它?
我的 div 看起来像这样……
<div><b>Expires On</b> Sep 30, 2009 06:30 AM</div>
在网上找到的以下建议没有奏效:
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];
}) );
}
})();
有什么建议么?
原文由 user158678 发布,翻译遵循 CC BY-SA 4.0 许可协议
这比你做起来容易得多。文本节点中不会包含文字字符串
" "
,它将包含代码为 160 的相应字符。更新
更简单: