3
A
回答
9
0
您可以使用此:
function clean_special_chars($s, $d=false)
{
if($d) $s = utf8_decode($s);
$chars = array(
'_' => '/`|´|\^|~|¨|ª|º|©|®/',
'a' => '/à|á|â|ã|ä|å|æ/',
'e' => '/è|é|ê|ë/',
'i' => '/ì|í|î|ĩ|ï/',
'o' => '/ò|ó|ô|õ|ö|ø/',
'u' => '/ù|ú|û|ű|ü|ů/',
'A' => '/À|Á|Â|Ã|Ä|Å|Æ/',
'E' => '/È|É|Ê|Ë/',
'I' => '/Ì|Í|Î|Ĩ|Ï/',
'O' => '/Ò|Ó|Ô|Õ|Ö|Ø/',
'U' => '/Ù|Ú|Û|Ũ|Ü|Ů/',
'c' => '/ć|ĉ|ç/',
'C' => '/Ć|Ĉ|Ç/',
'n' => '/ñ/',
'N' => '/Ñ/',
'y' => '/ý|ŷ|ÿ/',
'Y' => '/Ý|Ŷ|Ÿ/'
);
return preg_replace($chars, array_keys($chars), $s);
}
3
更新從奧蘭多答案,我補充一些特殊的字符
function clean_special_chars ($s, $d=false) {
if($d) $s = utf8_decode($s);
$chars = array(
'_' => '/`|´|\^|~|¨|ª|º|©|®/',
'a' => '/à|á|ả|ạ|ã|â|ầ|ấ|ẩ|ậ|ẫ|ă|ằ|ắ|ẳ|ặ|ẵ|ä|å|æ/',
'd' => '/đ/',
'e' => '/è|é|ẻ|ẹ|ẽ|ê|ề|ế|ể|ệ|ễ|ë/',
'i' => '/ì|í|ỉ|ị|ĩ|î|ï/',
'o' => '/ò|ó|ỏ|ọ|õ|ô|ồ|ố|ổ|ộ|ỗ|ö|ø/',
'u' => '/ù|ú|û|ũ|ü|ů|ủ|ụ|ư|ứ|ừ|ữ|ử|ự/',
'A' => '/À|Á|Ả|Ạ|Ã|Â|Ầ|Ấ|Ẩ|Ậ|Ẫ|Ă|Ằ|Ắ|Ẳ|Ặ|Ẵ|Ä|Å|Æ/',
'D' => '/Đ/',
'E' => '/È|É|Ẻ|Ẹ|Ẽ|Ê|Ề|Ế|Ể|Ệ|Ễ|Ê|Ë/',
'I' => '/Ì|Í|Ỉ|Ị|Ĩ|Î|Ï/',
'O' => '/Ò|Ó|Ỏ|Ọ|Õ|Ô|Ồ|Ố|Ổ|Ộ|Ỗ|Ö|Ø/',
'U' => '/Ù|Ú|Û|Ũ|Ü|Ů|Ủ|Ụ|Ư|Ứ|Ừ|Ữ|Ử|Ự/',
'c' => '/ć|ĉ|ç/',
'C' => '/Ć|Ĉ|Ç/',
'n' => '/ñ/',
'N' => '/Ñ/',
'y' => '/ý|ỳ|ỷ|ỵ|ỹ|ŷ|ÿ/',
'Y' => '/Ý|Ỳ|Ỷ|Ỵ|Ỹ|Ŷ|Ÿ/'
);
return preg_replace($chars, array_keys($chars), $s);
}
相關問題
- 1. 如何只刪除標點符號但留下重音字母?
- 2. 從字符串中刪除字母,只保留數字
- 3. 如何保留重音字符,字母數字和符號
- 4. 從文本中刪除標點符號和英文字符
- 5. 如何從字符串中刪除變音符號(變音符號)?
- 6. C#從字符中刪除口音?
- 7. 如何從Haskell中的字符串中刪除重音符號?
- 8. 如何刪除拉丁字母,如重音符號?
- 9. 如何從字符串中刪除非字母字符?
- 10. 如何從字符串中刪除所有字母字符?
- 11. 如何從字符串[]中刪除沒有字母字符?
- 12. 只允許字母,數字,變音符號,+, - ,並在字符串
- 13. Python,只保留html的句子,並刪除所有非英文字母,編號
- 14. Python從字符串中刪除字母
- 15. 從字符串中刪除字母
- 16. 從字符串中刪除字母
- 17. 從字符串中刪除變音符號(重音符號)。幫我解決
- 18. R刪除字符串中的非字母數字符號
- 19. Notepad ++刪除非英文數字字符
- 20. 如何檢查字符串是否只包含英文字母?
- 21. 如何只驗證英文字母字符
- 22. 刪除重音符號並過濾掉非字母數字字符
- 23. 從C中的UTF8字符串中刪除變音符號
- 24. 從字符串中刪除非字母數字字符
- 25. 從Java中的字符串中刪除所有非「單詞字符」,留下重音字符?
- 26. 如何通過位置號從字符串中刪除字符?
- 27. 在Java中刪除從字符串變音符號
- 28. strtr表演怪異 - 從字符串中刪除變音符號
- 29. 刪除重音符號 - 用無重音符號的字母替換重音符號str_replace
- 30. 從法文日期字符串中刪除口音
「極品這個特別的鏈接」 < - 那豈不是更好只是爲了正確編碼URI? :) – 2011-11-29 18:30:03
請參閱http://stackoverflow.com/questions/1770250/how-to-remove-diacritics-from-text http://stackoverflow.com/questions/3635511/remove-diacritics-from-a-string –
否,因爲它會導致我的HTML字符,如s%21 –