2
任何人都知道從PHP中的字符串中篩選不可見和稀有字符的好方法嗎?PHP:如何過濾不可見的ASCII字符?
我在解析網站新聞文章文本的情況下,正在執行一系列「規範化」操作,例如刪除雙重新行,刪除標籤等。問題是我偶然發現了一些奇怪的無形字符,當我打電話給ord()
時,我得到194和160 ..他們不屬於那裏。事情是這樣的字符出現在新的段落之間,所以當文本被渲染時,似乎有一個雙重的新行,因爲有兩個段落之間有一個不可見的字符。
如果我可以很容易地過濾除拉丁文,西里爾文,數字和普通字符(如*,(,%等)之外的任何東西,我仍然可以很好。我可以製作全部地圖並替換剩下的地圖,但是將是最簡單和最快的方式來做到這一點?
ASCII只定義了128個字符 - 沒有ASCII字符194和160.您應該[在Unicode上閱讀](http://www.joelonsoftware.com/articles/Unicode.html)。 – phihag 2012-03-02 00:22:28
iso-8859-1,-2,-3,-4,-9,-10,-14,-15,-16將'160'定義爲非破壞空間,將'194'定義爲拉丁文的大寫字母A抑揚。 -5將194定義爲西裏爾字母TE'Т',-6將194定義爲阿拉伯語Alef,Madda高於â,-7將194定義爲希臘語資本Beta'B',-8不定義194,-11將194定義爲Thai Yo Yak'',-13將194定義爲拉丁文大寫字母A和Macron(但是當使用'terminus' iso-10646字體時,我的手冊頁顯示'B';請參閱圖)。 – sarnold 2012-03-02 00:34:55
這個問題似乎有效。當然,只需稍作編輯即可糾正作者的輕微疏忽。 – Adjam 2012-03-02 00:40:57