Цитата:
Сообщение от lesha1974
в транслите используется символ '.
|
пишите свои правила преобразования
в свое время пришлось делать скрипт генерации имен пользователей, выглядело это так
Нажмите здесь, чтобы увидеть текст полностью
Код:
sub recode
{
local($q)=@_;
if($q=~m/ъ|ь/)
{
if($q =~ m/\wъ[йеыаоэяию]/)
{
$q=~s/ъ/i/g;
}
else
{
$q=~s/ъ//;
}
}
$q=~s/ье/ie/g;
$q=~s/ие/ie/g;
$q=~s/ья/ya/g;
$q=~s/ьи/ii/g;
$q=~s/ью/ju/g;
$q=~s/ий/y/g;
$q=~s/ый/y/g;
$q=~s/ая/aya/g;
$q=~s/яя/aya/g;
if($q=~m/ия$/)
{
$q=~s/ия/ia/g;
}
else
{
$q=~s/ия/ya/g;
}
$q=~s/Ж/Zh/g;
$q=~s/ж/zh/g;
$q=~s/Х/Kh/g;
$q=~s/х/kh/g;
$q=~s/ч/ch/g;
$q=~s/Ч/Ch/g;
$q=~s/ш/sh/g;
$q=~s/Ш/Sh/g;
$q=~s/щ/sch/g;
$q=~s/Щ/Sch/g;
$q=~s/ы/y/g;
$q=~s/Ы/Y/g;
$q=~s/э/e/g;
$q=~s/Э/E/g;
$q=~s/Ё/E/g;
$q=~s/ё/e/g;
$q=~s/ю/yu/g;
$q=~s/Ю/Yu/g;
$q=~s/я/ya/g;
$q=~s/Я/Ya/g;
$q=~s/Ц/Ts/g;
$q=~s/ц/ts/g;
$q=~s/ /_/g;
$q=~s/Ъ//g;
$q=~s/ъ//g;
$q=~s/ь//g;
$q=~s/Ь//g;
$q=~tr/[АБВГДЕЗИЙКЛМНОПРСТУФХЦЧШЩЪЫЬЭЮЯабвгдежзийклмнопрстуфхцчшщъыьэюя]/[ABVGDEZIYKLMNOPRSTUFHCzzx_YXzxQabvgdevziyklmnoprstufhczzzzyxzzq]/;
#$q=~tr/[:]/[_]/;
return $q;
}