3 回答

TA貢獻(xiàn)1852條經(jīng)驗(yàn) 獲得超1個(gè)贊
這應(yīng)該使您的文件名安全...
$string = preg_replace(array('/\s/', '/\.[\.]+/', '/[^\w_\.\-]/'), array('_', '.', ''), $string);
一個(gè)更深層的解決方案是:
// Remove special accented characters - ie. sí.
$clean_name = strtr($string, array('?' => 'S','?' => 'Z','?' => 's','?' => 'z','?' => 'Y','à' => 'A','á' => 'A','?' => 'A','?' => 'A','?' => 'A','?' => 'A','?' => 'C','è' => 'E','é' => 'E','ê' => 'E','?' => 'E','ì' => 'I','í' => 'I','?' => 'I','?' => 'I','?' => 'N','ò' => 'O','ó' => 'O','?' => 'O','?' => 'O','?' => 'O','?' => 'O','ù' => 'U','ú' => 'U','?' => 'U','ü' => 'U','Y' => 'Y','à' => 'a','á' => 'a','a' => 'a','?' => 'a','?' => 'a','?' => 'a','?' => 'c','è' => 'e','é' => 'e','ê' => 'e','?' => 'e','ì' => 'i','í' => 'i','?' => 'i','?' => 'i','?' => 'n','ò' => 'o','ó' => 'o','?' => 'o','?' => 'o','?' => 'o','?' => 'o','ù' => 'u','ú' => 'u','?' => 'u','ü' => 'u','y' => 'y','?' => 'y'));
$clean_name = strtr($clean_name, array('T' => 'TH', 't' => 'th', 'D' => 'DH', 'e' => 'dh', '?' => 'ss', '?' => 'OE', '?' => 'oe', '?' => 'AE', '?' => 'ae', 'μ' => 'u'));
$clean_name = preg_replace(array('/\s/', '/\.[\.]+/', '/[^\w_\.\-]/'), array('_', '.', ''), $clean_name);
假設(shè)您要在文件名中添加一個(gè)點(diǎn)。如果您希望將其轉(zhuǎn)換為小寫字母,只需使用
$clean_name = strtolower($clean_name);
最后一行。
- 3 回答
- 0 關(guān)注
- 451 瀏覽
添加回答
舉報(bào)