javascriptのdomテキストノードから を置き換える
2023-07-17 15:27:14
質問
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];
}) );
}
})();
何か提案はありますか?
どのように解決するのですか?
これはあなたが考えているよりずっと簡単です。テキストノードにリテラル文字列の
" "
という文字列ではなく、コード160の対応する文字を持つことになります。
function replaceNbsps(str) {
var re = new RegExp(String.fromCharCode(160), "g");
return str.replace(re, " ");
}
textNode.nodeValue = replaceNbsps(textNode.nodeValue);
アップデイト
さらに簡単に。
textNode.nodeValue = textNode.nodeValue.replace(/\u00a0/g, " ");
関連
-
[解決済み] jQueryを使ってドロップダウンリスト(セレクトボックス)から選択されたテキストを取得する
-
[解決済み] Javascriptで配列から空の要素を削除する
-
[解決済み] テキストボックスのEnterキーで、JavaScriptでボタンクリックをトリガーする
-
[解決済み] JavaScript で DOM ノードのすべての子要素を削除する
-
[解決済み] JavaScriptやデバッグでDOMノード上のイベントリスナーを見つけるには?
-
[解決済み] テキストからHTMLを取り除く JavaScript
-
[解決済み】「GET」パラメータから値を取得する(JavaScript)【重複】。
-
[解決済み】オブジェクトからプロパティを削除する(JavaScript)
-
[解決済み] 上級者向けJavaScript。この関数はなぜ括弧でくくられるのですか?重複
-
[解決済み] bootstrap のポップオーバーがすべての要素の上に表示されない
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
[解決済み] JavaScriptで次の要素/前の要素を取得しますか?
-
[解決済み] 上級者向けJavaScript。この関数はなぜ括弧でくくられるのですか?重複
-
[解決済み] モバイルWeb HTML5フレームワークの選び方【終了しました
-
[解決済み] URL/アドレスバーからJavascriptの関数を呼び出す
-
[解決済み] Chart.jsを使ってドーナツチャートの中にテキストを追加するには?
-
[解決済み] JavaScriptで:hoverのCSSプロパティを変更する
-
[解決済み] コールバック地獄とは何か、RXはそれをどのように、そしてなぜ解決するのか?
-
[解決済み] ECMAScriptとは?
-
[解決済み] CORS: 認証モードは 'include' です。
-
[解決済み] JavaScriptとLuaの微妙な違い [終了しました]