2009-09-19 41 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

相關問題