誤用 導致長英文字符串不換行

誤用 導致長英文字符串不換行

從網上下載過一個UBB的轉換成HTML的函數(c#),內中就有這麼一句:
str = str.Replace(" "," ");
看起來沒什麼問題," "在HTML中就是空格的意思啊,沒什麼可疑的地方。這樣的代碼在處理中文的時候也沒什麼問題,唯獨在處理英文的時候,出現了網上廣爲流傳的“長英文字符串不換行”問題,我查閱了網上流傳的各種版本的文章,解決辦法也是五花八門,各有不同,WOAD-BREAK,CSS,Javascript等等,我也曾經按圖索驥,在國外的英文網站中查找上述方法的痕跡,奇怪的是,竟然一無所獲。這一點讓我大惑不解,鬱悶了很長時間。
就在今天,就在剛纔,當我第N次研究這個問題的時候,百無聊賴的我第一次察看起我的網站生成的HTML代碼:
<DIV style="PADDING-RIGHT: 10px; PADDING-LEFT: 10px; FONT-SIZE: 14px; FLOAT: right; PADDING-BOTTOM: 0px; MARGIN: 5px 0px 15px; VERTICAL-ALIGN: top; WIDTH: 475px; PADDING-TOP: 0px; TEXT-ALIGN: left
"
>Enter&nbsp;a&nbsp;search&nbsp;and&nbsp;the&nbsp;closest&nbsp;matches&nbsp;will&nbsp;start&nbsp;to&nbsp;appear&nbsp;as&nbsp;you&nbsp;type&nbsp;by&nbsp;quote,&nbsp;author&nbsp;and&nbsp;tag.QuoteView,&nbsp;rate&nbsp;and&nbsp;collect&nbsp;quotes.&nbsp;Learn&nbsp;the&nbsp;history&nbsp;and&nbsp;context&nbsp;of&nbsp;a&nbsp;famous&nbsp;quote&nbsp;or&nbsp;add&nbsp;your&nbsp;own&nbsp;knowledge&nbsp;about&nbsp;a&nbsp;quote.Author&nbsp;Find&nbsp;quotes&nbsp;by&nbsp;person.&nbsp;Learn&nbsp;or&nbsp;share&nbsp;a&nbsp;little&nbsp;bit&nbsp;about&nbsp;an&nbsp;author&nbsp;via&nbsp;their&nbsp;mini&nbsp;bio.TagsSearch&nbsp;using&nbsp;keywords&nbsp;(called&nbsp;Tags)&nbsp;that&nbsp;members&nbsp;have&nbsp;tagged&nbsp;quotes&nbsp;and&nbsp;authors&nbsp;with.&nbsp;Search&nbsp;all&nbsp;tags&nbsp;or&nbsp;just&nbsp;the&nbsp;tags&nbsp;you&nbsp;have&nbsp;submitted.CommunitySign&nbsp;up&nbsp;for&nbsp;our&nbsp;free&nbsp;membership&nbsp;and&nbsp;start&nbsp;tagging,&nbsp;submitting,&nbsp;rating&nbsp;and&nbsp;collecting&nbsp;quotes&nbsp;as&nbsp;a&nbsp;member&nbsp;of&nbsp;our&nbsp;community.</DIV>

大量的&nbsp;強烈的刺激了我的神經,難道是&nbsp;搞得鬼?回想起研究過的幾個英文網站,似乎並沒有這麼多&nbsp;啊?於是我嘗試將所有的&nbsp;換成空格,保存,重新打開頁面,IE窗口底部長長的滾動條消失了,問題奇蹟般的解決了!!!
至此,儘管問題解決了,但是我並沒有搞清楚爲什麼會出現這樣的問題,沒辦法,只好祭出google大殺器。
感謝神聖和偉大的google,他無私的爲我搜索到的下面資料,彙總一下,給同樣出現“長英文字符串不換行”問題的朋友參考,或許您的問題並沒有其他文章所說的那麼複雜。
&nbsp;的全名是none-break space,意思是非斷行空白、或者連續空白。
跟普通的空格相比,是兩個不同的字符,其unicode碼各不相同,標準HTML忽略連續2個以上空格,只顯示一個,此外&nbsp;作爲html所定義的一個實體,不能在xml中使用。
道理是淺顯的,錯誤是隱蔽的,教訓是慘痛的。
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章