javascriptを使用してxhtmlを処理しています。 nodeType == Node.TEXT_NODEのすべての子ノードのnodeValueを連結して、divノードのテキストコンテンツを取得しています。 をjavascript domのテキストノードに置き換えます。
結果の文字列には、改行しないスペースエンティティが含まれることがあります。これを通常のスペース文字に置き換えるにはどうすればよいですか?
私の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];
}));
}
})();
任意の提案を?
を...それを何ですか? – brianreavis
私の投稿に誤字を入れました - 使用した場合、プレビューの実際のスペースにエンティティを変換していました – user158678
ちょっと、関数名の入力ミスのようです。私の質問に編集を参照してください。 – Kip