簡單說一下來龍去脈,sanitize_title()是在WordPress系統中所大量使用的一個function,這個function用途,在於將各式各樣的資料,包括文章標題、分類名稱等,轉換成一個內部使用的欄位,比方說,把文章標題的內容,轉換成PostSlug之類的代稱,將post_title當中的資料,轉換成post_name,轉換過程包括將所有的大寫英文轉成小寫,去除不必要的標點符號以及將空白轉換成底線等。這個內部使用的代稱,主要應用在產生文章的網址上,比方說,如果你寫了一篇叫做Hello! World!的文章,便可以產生如http://example.com/2004/07/09/hello_world之類的網址。
在中文使用上,sanitize_title()有嚴重的問題,那就是在於無法處理中文,中文標題在處理之後只會得到空白字串,所以,如果當你在WordPress開啟了permalink功能的話,便可能因為這個函數無法正確處理中文,而造成一些問題。比方說在對岸的簡體「中文WordPress」計畫網站的〈文章分類中不支持中文〉這篇文章,當中所描述的問題,就是因此產生的。從WordPress五月份釋出1.2版以來,我嘗試了幾種作法,企圖產生中文相容的sanitize_title()處理結果,包括先把中文文字urlencode()處理過,還有很蠢的,用一個很大的迴圈,把所有的中文UTF-8字元代換成漢語拼音(註:最近發現,那個外掛程式會在某些PHP環境中,例如裝了turck-mmcache之後,就會爛掉)等。