You can post now and register later.
If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.
Актуальные контакты:
Telegram: @Nikker_web
E-Mail: tarasevich.email@gmail.com
Портфолио https://www.behance.net/d4d4186e
Разрабатываю дизайн групп в соц сетях, сайтов, приложений, другой дизайн под заказ
Актуальные контакты:
Telegram: @Nikker_web
E-Mail: tarasevich.email@gmail.com
Разрабатываю дизайн групп в соц сетях, сайтов, приложений, другой дизайн под заказ
Портфолио https://www.behance.net/d4d4186e
Question
helloworld
здравствуйте!
сам я не пишу на js и не знаком особо с его синтаксисом, поэтому затрудняюсь найти ошибку в коде.
нашел на просторах сети следующий скрипт, аналог функции strtr на php:
function strtr (str, from, to) {
/*
* strtr by Kedo
* 2009
* Example 1: strtr('hi all, I said hello', {'hi':'hello', 'hello':'hi'}); //hello all, I said hi
* Example 2: strtr('abcdcdb', 'ab', 'AB')); //ABcdcdB
*/
if (typeof from === 'object') {
var cmpStr = '';
for (var j=0; j < str.length; j++){
cmpStr += '0';
}
var offset = 0;
var find = -1;
var addStr = '';
for (fr in from) {
offset = 0;
while ((find = str.indexOf(fr, offset)) != -1){
if (parseInt(cmpStr.substr(find, fr.length)) != 0){
offset = find + 1;
continue;
}
for (var k =0; k < from[fr].length; k++){
addStr += '1';
}
cmpStr = cmpStr.substr(0, find) + addStr + cmpStr.substr(find + fr.length, cmpStr.length - (find + fr.length));
str = str.substr(0, find) + from[fr] + str.substr(find + fr.length, str.length - (find + fr.length));
offset = find + from[fr].length + 1;
addStr = '';
}
}
return str;
}
for(var i = 0; i < from.length; i++) {
str = str.replace(new RegExp(from.charAt(i),'g'), to.charAt(i));
}
return str;
}
использую его для транслитерации input поля, но смотрите что получается (первое поле - где я пишу, во втором поле динамически отображается перевод):
тут все хорошо работает, но что, если ввести два одинаковых символа подряд?
видно, что при повторении одинаковых символов подряд, каждый символ через один не заменяется.
не могли бы показать в чем проблема и исправить ее в коде? заранее благодарю.
Link to comment
Share on other sites
1 answer to this question
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.