2009-09-19 28 views
23

我正在用一对Perl模块解析一个HTML文档:HTML::TreeBuilderHTML::Element。出于某种原因,每当一个标签的内容仅仅是 ,这是可以预料的,它就会通过HTML ::元素作为一个奇怪的字符回到我以前从来没见过:为什么这个A0字符出现在我的HTML :: Element输出中?

alt text http://www.freeimagehosting.net/uploads/2acca201ab.jpg

我可以”不要复制这个字符,所以不能在谷歌中找到它,在字符映射中找不到它,奇怪的是当我用正则表达式搜索时,\w发现它。当我将返回的文档转换为ANSI或UTF-8时,它完全消失。我在HTML :: Element文档中也找不到任何信息。

我该如何侦测并用null这个更有用的东西来检测和替换这个角色,我将来应该如何处理这种奇怪的角色呢?

+0

图像链接已经烂 –

回答

40

该字符是"\xa0"(即160),它是 的标准Unicode转换。 (也就是说,它是Unicode的非破坏性空间。)如果您愿意,您应该可以使用s/\xa0/ /g删除它们。

+0

s/\ xa0// g#...和一些更多的字符,使15 ... – aidan

8

性格non-breaking space这是 代表什么:

在文字处理和数字排版,非打破空间(“”)(也称为无间断的空间,不易碎空间(NBSP),硬空间或固定空间)是一个空格字符,可防止在其位置发生自动换行。在某些格式中,包括HTML,它还可以防止连续的空白字符被折叠到一个空格中。

在HTML中,与普通空格字符宽度相同的普通非分隔空间编码为 或 。在Unicode中,它被编码为U+00A0

相关问题