質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.48%
JavaScript

JavaScriptは、プログラミング言語のひとつです。ネットスケープコミュニケーションズで開発されました。 開発当初はLiveScriptと呼ばれていましたが、業務提携していたサン・マイクロシステムズが開発したJavaが脚光を浴びていたことから、JavaScriptと改名されました。 動きのあるWebページを作ることを目的に開発されたもので、主要なWebブラウザのほとんどに搭載されています。

HTML

HTMLとは、ウェブ上の文書を記述・作成するためのマークアップ言語のことです。文章の中に記述することで、文書の論理構造などを設定することができます。ハイパーリンクを設定できるハイパーテキストであり、画像・リスト・表などのデータファイルをリンクする情報に結びつけて情報を整理します。現在あるネットワーク上のほとんどのウェブページはHTMLで作成されています。

Q&A

解決済

2回答

1186閲覧

HTMLソースのタブ、改行、スペースを削除(タグ内の文字のスペースは除く)

lumina

総合スコア8

JavaScript

JavaScriptは、プログラミング言語のひとつです。ネットスケープコミュニケーションズで開発されました。 開発当初はLiveScriptと呼ばれていましたが、業務提携していたサン・マイクロシステムズが開発したJavaが脚光を浴びていたことから、JavaScriptと改名されました。 動きのあるWebページを作ることを目的に開発されたもので、主要なWebブラウザのほとんどに搭載されています。

HTML

HTMLとは、ウェブ上の文書を記述・作成するためのマークアップ言語のことです。文章の中に記述することで、文書の論理構造などを設定することができます。ハイパーリンクを設定できるハイパーテキストであり、画像・リスト・表などのデータファイルをリンクする情報に結びつけて情報を整理します。現在あるネットワーク上のほとんどのウェブページはHTMLで作成されています。

0グッド

0クリップ

投稿2017/10/10 07:33

###前提・実現したいこと
javascriptで引数に以下のようなHTMLコードを渡されたら

<html> <head> AAA </head > <body><a> CCC </a> <a> DD EE </a> </body> </html> 以下で返却するメソッドの作成。 <html><head>AAA</head><body><a>CCC</a><a>DD EE</a></body></html>

という風にタグ内の文字列の空白はそのままで、それ以外の空白、タブ、改行を削除して
1行のHTMLに表示できるjavascriptの機能を作成したいのですが、どう実装できるのかが
検討がつきません。。

よろしければお教え願います。

###発生している問題・エラーメッセージ

###該当のソースコード
/**

  • 空白、スペース、タブ削除

*/
function spaceDelete(inputText) {
return inputText.replace(/\s/g, "");
};

###試したこと
該当のソースコードのことを試すと

<html><head>AAA</head><body><a>CCC</a><a>DDEE</a></body></html> 文字の間のスペースまでなくなってしまいます。

###補足情報(言語/FW/ツール等のバージョンなど)
言語:javascript

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答2

0

ベストアンサー

たとえばこんな感じで

javascript

1 2function check(){ 3 var v=document.querySelector('[name=hoge]').value; 4 v=v.replace(/(>)\s+/g,'$1').replace(/\s+([<>])/g,'$1').replace(/[\r\n]/g,''); 5 console.log(v); 6} 7

HTML

1<textarea name="hoge" cols="50" rows="20"> 2<html> 3<head>&#9;AAA&#32;&#32;&#32;</head&#9;> 4<body><a>&#9;CCC&#9;</a> 5<a>&#9;FF&#32;&#9;&#32;GG&#9;</a>123 6aaa<a>&#9;HH&#9;II&#9;JJ&#9;</a> 7</body> 8</html> 9</textarea> 10<input type="button" value="check" onclick="check()">

投稿2017/10/10 08:30

yambejp

総合スコア114769

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

lumina

2017/10/10 08:37

早速ご連絡ありがとうございます! すごい勉強になりました。 ありがとうございます!!
guest

0

最初に

「空白、スペース、タブ」以外の文字+「空白、スペース、タブ」(0回以上出現)+「>」+「空白、スペース、タブ」(0回以上出現)+「空白、スペース、タブ」以外の文字

を検索し、

「空白、スペース、タブ」以外の文字+「>」+「空白、スペース、タブ」以外の文字

に変換します。

次に

「空白、スペース、タブ」以外の文字+「空白、スペース、タブ」(0回以上出現)+「<」+「空白、スペース、タブ」(0回以上出現)+「空白、スペース、タブ」以外の文字

を検索し、

「空白、スペース、タブ」以外の文字+「<」+「空白、スペース、タブ」以外の文字

に変換します。

それぞれの正規表現については省略。

投稿2017/10/10 07:48

tkturbo

総合スコア5572

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

lumina

2017/10/10 08:39

早速ご連絡ありがとうございます。 詳しい説明ありがとうございます! 早速試させていただきます。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.48%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問