一千萬個為什麽

搜索

用PHP中的“等效”ASCII替換變音字符?

相關問題:

  1. How to replace characters in a java String?
  2. How to replace special characters with their equivalent (such as " á " for " a") in C#?

正如上面的問題,我正在尋找一種可靠,強大的方法,使用PHP將任何unicode字符減少到接近等效的ASCII。我真的想避免滾動我自己的查找表。

For example (stolen from 1st referenced question): Gračišće becomes Gracisce

最佳答案

iconv 模塊可以執行此操作,更具體地說, iconv()函數:

$str = iconv('Windows-1252', 'ASCII//TRANSLIT//IGNORE', "Gracišce");
echo $str;
//outputs "Gracisce"

使用iconv的主要麻煩在於你只需要觀察你的編碼,但它絕對是適合這項工作的工具(由於我正在使用的文本編輯器的限制,我使用'Windows-1252'作為示例;)該功能你肯定想要使用的iconv是//TRANSLIT 標誌,它告訴iconv將任何沒有ASCII匹配的字符音譯成最接近的近似值。

轉載註明原文: 用PHP中的“等效”ASCII替換變音字符?