HTML代码中,一般的空格字符0x20
除了用来排版HTML代码之外没有什么实质意义(以pre标签为代表的CSS属性white-space
是一种特例)。
因此,对于大多数HTML标签来说,连续的空格会被collapse为一个空格字符。一段文字开头的空格字符也不会帮你起到缩进或者对齐这样的作用。
可我们有时就是想要一个“真正”的空格字符,这时就是所谓的No Break Space Char登场的时候了。
0xA0
C2 A0
或者
。这个简单的“空格”却有时会带来另人难受的麻烦。
有时,比如从Word粘贴文本到网页中的时候,会出现不希望看到的“乱码字符”。有时,有些涉及字符编码的函数调用会产生一些奇怪的字符输出。
常见的情况是这样的:
U+FFFD
,对应的UTF-8编码为 0xEF BF BD
在HTML代码中的修正可以用如下PHP代码。先替换c2a0
以免对误伤编码正确的字节A0
。
$text = strtr($text, array("\xc2\xa0"=>' ',"\xa0"=>' '));
怀疑文本中有这类字符的时候,可以:
ga
或者:%! xxd
进行查看。