© Сделано на LiveStreet
Дизайн - ©2009 MODx RED Group
function niceFilename($filename) {
$changes = array(
"Є"=>"EH", "І"=>"I", "і"=>"i", "№"=>"#", "є"=>"eh",
"А"=>"A", "Б"=>"B", "В"=>"V", "Г"=>"G", "Д"=>"D",
"Е"=>"E", "Ё"=>"E", "Ж"=>"ZH", "З"=>"Z", "И"=>"I",
"Й"=>"J", "К"=>"K", "Л"=>"L", "М"=>"M", "Н"=>"N",
"О"=>"O", "П"=>"P", "Р"=>"R", "С"=>"S", "Т"=>"T",
"У"=>"U", "Ф"=>"F", "Х"=>"H", "Ц"=>"C", "Ч"=>"CH",
"Ш"=>"SH", "Щ"=>"SCH", "Ъ"=>"", "Ы"=>"Y", "Ь"=>"",
"Э"=>"E", "Ю"=>"YU", "Я"=>"YA", "Ē"=>"E", "Ū"=>"U",
"Ī"=>"I", "Ā"=>"A", "Š"=>"S", "Ģ"=>"G", "Ķ"=>"K",
"Ļ"=>"L", "Ž"=>"Z", "Č"=>"C", "Ņ"=>"N", "ē"=>"e",
"ū"=>"u", "ī"=>"i", "ā"=>"a", "š"=>"s", "ģ"=>"g",
"ķ"=>"k", "ļ"=>"l", "ž"=>"z", "č"=>"c", "ņ"=>"n",
"а"=>"a", "б"=>"b", "в"=>"v", "г"=>"g", "д"=>"d",
"е"=>"e", "ё"=>"e", "ж"=>"zh", "з"=>"z", "и"=>"i",
"й"=>"j", "к"=>"k", "л"=>"l", "м"=>"m", "н"=>"n",
"о"=>"o", "п"=>"p", "р"=>"r", "с"=>"s", "т"=>"t",
"у"=>"u", "ф"=>"f", "х"=>"h", "ц"=>"c", "ч"=>"ch",
"ш"=>"sh", "щ"=>"sch", "ъ"=>"", "ы"=>"y", "ь"=>"",
"э"=>"e", "ю"=>"yu", "я"=>"ya", "Ą"=>"A", "Ę"=>"E",
"Ė"=>"E", "Į"=>"I", "Ų"=>"U", "ą"=>"a", "ę"=>"e",
"ė"=>"e", "į"=>"i", "ų"=>"u", "ö"=>"o", "Ö"=>"O",
"ü"=>"u", "Ü"=>"U", "ä"=>"a", "Ä"=>"A", "õ"=>"o",
"Õ"=>"O");
$alias=strtr($filename, $changes);
$alias = strtolower( $alias );
$alias = preg_replace('/&.+?;/', '', $alias); // kill entities
$alias = str_replace( '_', '-', $alias );
$alias = preg_replace('/[^a-z0-9\s-.]/', '', $alias);
$alias = preg_replace('/\s+/', '-', $alias);
$alias = preg_replace('|-+|', '-', $alias);
$alias = trim($alias, '-');
return $alias;
}
Комментарии (7)
RSS свернуть / развернутьдобавить
И саму эту функцию добавить в конец.
Temus
ivc
banev
banev
Carw
Carw
С расширением файла возможны варианты. Ну и strpos я не расписываю подробно.
Защита от перезаписи файла — просто проверка в цикле while на существование $destFile и дописывание в конец $fileName случайной цифры.
И никакой каши.
alooze
Только зарегистрированные и авторизованные пользователи могут оставлять комментарии.