1

最小限のマークアップ テキストを行ごとに解析しようとしています。現在、文字ごとに解析する for ループがあります。以下のコードを参照してください。

文章:

<element id="myE">
This is some text that
represents accurately the way I 
have written my html
file.
</element>

コード:

var list = document.getElementById("myE").innerHTML;
var tallie = 0;

for (i=1;i<list.length;i++) {
  if (/*list[i] == " "*/ true) {
    list += 1;
    console.log(list[i]);
  }
}

console.log(tallie);

予想どおり、要素に埋め込まれたテキストは、DOM では連続した適切にフォーマットされた文字列であるかのようにレンダリングされます。しかし、私が見つけたのは、コンソールが非改行スペースと改行の違いを認識していることです。どこ" "

"
"

2つをそれぞれ表します。

コンソールは違いを認識しているように見えるので、違いをテストする方法があるはずです。コメント化された条件のロックを解除すると、非改行スペースのテストが開始されます。文字エンコーディング文字列を使用してこれを行う別の方法があると思います( ではなく、別の方法です)。したがって、改行スペースの文字コードを見つけることができると期待するのは合理的です。残念ながら、私はそれを見つけることができません。

簡単に言えば、HTMLファイルの行ごとの解析をどのように行うことができますか?

4

1 に答える 1

1

改行文字は でエンコードされ\nます。キャリッジ リターンと改行の組み合わせを見つけることもあります\r\n(改行に関するウィキペディアを参照)。これらを Non Breaking Space と混同しないでください。&nbsp;または&#160;、ブラウザーでワードラップを行わずにスペースを表示したい場合、またはブラウザーで複数のスペースを一緒に折りたたまないようにしたい場合に使用されます。

于 2016-08-16T15:14:24.220 に答える