是否可以测试破碎空间?

时间:2016-08-16 14:47:49

标签: javascript newline line-by-line character-codes

我试图按行解析最小标记文本。目前我有一个逐字逐句解析的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中呈现,就像它是一个连续的,格式正确的字符串一样。但我发现的是控制台识别出不间断空间和新线之间的区别。其中" "

"
"

分别代表两个。

由于控制台似乎知道差异,似乎应该有一种方法来测试差异。如果解锁注释状态,它将开始测试不间断空格。我认为还有另一种方法可以使用字符编码字符串(而不是另一个字符串)。期望能够为突破空间找到字符代码似乎是合理的。不幸的是我找不到一个。

长话短说,我怎样才能实现真正的逐行解析html文件?

1 个答案:

答案 0 :(得分:1)

换行符以\n编码。有时您还会找到回车符和新行\r\n的组合(请参阅Newline上的维基百科)。这些不应与非破碎空间&nbsp;&#160;混淆,如果您希望浏览器不进行自动换行但仍显示空格或者您希望浏览器不会同时折叠多个空格