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;
}
Комментариев нет:
Отправить комментарий