2011-10-04 185 views
0

我有一個函數,它存儲讀取了StreamReader的字符串。有問題的文件包含水平製表符,我知道它們在Unicode中被註冊爲U + 0009。我想在HTML中顯示字符串,這顯然涉及一些轉換。Unicode中的水平製表符

我用來嘗試這種轉換代碼是

readResults = readResults.Replace(ChrW(&H9), "	") 

不幸的是,沒有愛情。該選項卡被刪除,因爲任何空白字符不被使用。有任何想法嗎?

編輯: 想通了

readResults = readResults.Replace(vbTab, "<pre>&#09;</pre>") 
+0

你可以嘗試用em空間替換它們 或&#x2003; (或者如果您不想支持舊瀏覽器 )。這是我能找到的寬廣可用空間。 – Gerben

回答

2

white-space:pre-wrap CSS屬性添加到您的HTML元素。該屬性將強制顯示所有空格(包括製表符)。如果您還想保留換行符,請使用white-space:pre

+0

原來我已經有我的CSS預先包裝設置。然後我嘗試使用javascript手動設置它,並且文本仍然顯示爲未觸及。我相信同樣的事情發生在我的換行前,所以我有一個類似的代碼片段(vbNewLine,「
」)。 實體應該沒問題;這個問題可能存在於我在VB中檢測水平製表符的錯誤語法中。 – Kevin

+0

你確定源代碼中的字符實際上是標籤嗎?複製一個子字符串,並使用這個書籤:'javascript:alert(escape(prompt(「 - 1 = no tab character found」,「」))。indexOf(「\ x09」))' –

+0

那麼,它們是文本文件我創建了自己,所以我確切知道某些行包含由製表按鈕的物理按鍵生成的空白。 – Kevin