Если стандартной транслитерации (которую уже упомянули) недостаточно или она не совсем подходит,
можете взять контроль над этим, прописав и потом используя PHP функцию. Я пользуюсь этим в таких случаях:
// translit
function rus2lat4alias($text) {
$text = mb_strtolower(trim($text));
$text = preg_replace("/([0-9])х([0-9])/", "$1-$2", $text); // Ха русская
$text = preg_replace("/([0-9])x([0-9])/", "$1-$2", $text); // Икс латинская
$ru = explode(" ", "а б в г д е ё ж з и й к л м н о п р с т у ф х ц ч ш щ ъ ы ь э ю я");
$lat = explode(" ", "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 ju ja");
$text = str_replace($ru, $lat, $text);
unset($ru, $lat);
$text = preg_replace("/[^a-zA-Z0-9\-]/", "-", $text);
$text = preg_replace("/[-]{2,}/", "-", $text);
$text = trim($text, '-');
return $text;
}
Пример использования:
$text = 'Некий текст - пуcть будет с размером 300х400 :)';
$alias = rus2lat4alias($text);
Из
блога.