What about using rawurlencode() ?
http://www.php.net/manual/en/function.rawurlencode.php
İşte hatta Çin karakterl sterilize bir fonksiyonudur:
public static function normalizeString ($str = '')
{
$str = strip_tags($str);
$str = preg_replace('/[\r\n\t ]+/', ' ', $str);
$str = preg_replace('/[\"\*\/\:\<\>\?\'\|]+/', ' ', $str);
$str = strtolower($str);
$str = html_entity_decode( $str, ENT_QUOTES, "utf-8" );
$str = htmlentities($str, ENT_QUOTES, "utf-8");
$str = preg_replace("/(&)([a-z])([a-z]+;)/i", '$2', $str);
$str = str_replace(' ', '-', $str);
$str = rawurlencode($str);
$str = str_replace('%', '-', $str);
return $str;
}
İşte açıklamamlar olduğunu
- Strip HTML Etiketler
- Kaldır Break / Sekmeler / Return Taşıma
- Klasör ve dosya için Yasadışı karakterl kaldır
- Alt durumda dize koymak
- Html varlıklar haline dönüştürmek böyle EAU gibi yabancı aksan kaldırmak ve daha sonra kodunu kaldırmak ve mektubu saklayınız.
- Tire ile Spaces değiştirin
- Önceki adımları geçmek ve sunucu üzerinde çatışma dosya içinde girebilir özel karakter Encode. ex. "中文 百强 网"
- Inci dosyayı sorgularken dosyanın bağlantı tarayıcı tarafından yeniden yazılamaz olmayacak emin olmak için tire ile "%" değiştirin.
Tamam, bazı dosya releavant olmayacak ama çoğu durumda işe yarayacaktır.
ex.
Original Name: "საბეჭდი-და-ტიპოგრაფიული.jpg"
Çıkış Adı: "-E1-83-A1-E1-83-90-E1-83-91-E1-83-94-E1-83-AD-E1-83-93-E1-83-98--E1-83-93-E1-83-90--E1-83-A2-E1-83-98-E1-83-9E-E1-83-9D-E1-83-92-E1-83-A0-E1-83-90-E1-83-A4-E1-83-98-E1-83-A3-E1-83-9A-E1-83-98.jpg"
Bu bir 404 hata daha böyle iyi.
Bu yardımcı oldu umuyoruz.
Carl.