ShaDOWNIK
Newbie | Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору Добрый день, нашел вот такую функцию для транслитерации символов с европейских языков на латиницу https://gist.github.com/goliatone/173fb2b810a65d0c5cbc переделал его, чтобы понимал кириллицу $(document).ready(function() { var slug = function(str) { str = str.replace(/^\s+|\s+$/g, ''); // trim str = str.toLowerCase(); // remove accents, swap ñ for n, etc var from = 'ãàáäâẽèéë êìíïîõòóöôùú üûñç·/_,:;абвгдеёзийклмнопрстуфхцэы'; var to = 'aaaaaeeeeeiiiiooooouuuunc------abvgdeeziyklmnoprstufhcey'; for (var i=0, l=from.length ; i<l ; i++) { str = str.replace(new RegExp(from.charAt(i), 'g'), to.charAt(i)); } str = str.replace(/[^a-z0-9 -]/g, '') // remove invalid chars .replace(/\s+/g, '-') // collapse whitespace and replace by - .replace(/-+/g, '-'); // collapse dashes return str; }; но проблема с буквами, которые в латинице состоят из нескольких букв (ж - zh, 'ч' => 'ch', 'ш' => 'sh', 'щ' => 'sch', 'ю' => 'yu', 'я' => 'ya') пытался их через условие проверять но нечего не получилось, как сделать правильно, чтобы скрипт обрабатывал и такие буквы. помогите пожалуйста. ps. здесь на сайте европейские символы выделенные цветом переведены почему-то в ascii коды, поэтому для того, чтобы понять что на что меняется лучше смотреть с оригинала скрипта, мною дописаны буквы русского языка | Всего записей: 23 | Зарегистр. 07-05-2009 | Отправлено: 11:32 30-04-2015 | Исправлено: ShaDOWNIK, 11:37 30-04-2015 |
|