【发布时间】:2010-12-02 12:31:40
【问题描述】:
我正在使用 javascript 处理 xhtml。我通过连接 nodeType == Node.TEXT_NODE 的所有子节点的 nodeValue 来获取 div 节点的文本内容。
生成的字符串有时包含一个不间断的空格实体。如何将其替换为常规空格字符?
我的 div 看起来像这样...
<div><b>Expires On</b> Sep 30, 2009 06:30&nbsp;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];
}) );
}
})();
有什么建议吗?
【问题讨论】:
-
"
&nnbsp;" 你的数据不是问题……是吗? -
我在帖子中输入了错字 - 如果我使用 ,Stack Overflow 会将实体转换为帖子预览中的实际空间
-
嘿,好像函数名有错别字。请参阅我的问题的编辑。
标签: javascript regex html-entities