PHP код:
for(new i = 0; i < strlen(string); i++)
{
if(string[i] > 64 && string[i] < 91 ) string[i] += 32;// буквы A-Z
else if(string[i] > 191 && string[i] < 224 ) string[i] += 32;// быквы А-Я
else if(string[i] == 168) string[i] = 184; // буква Ё
}
PHP код:
for(new i = 0; i < strlen(string); i++)
{
if(string[i] > 64 && string[i] < 91 ) string[i] += 32;// буквы A-Z
else if(string[i] > 191 && string[i] < 224 ) string[i] += 32;// быквы А-Я
else if(string[i] == 168) string[i] = 184; // буква Ё
}
Последний раз редактировалось roma282282; 22.03.2014 в 01:25.
***
Последний раз редактировалось roma282282; 22.03.2014 в 01:25.
Будет преобразовывать символы в нижний регистр, если в строке 4 и более заглавных буквы. 3 не советовал бы вставить, т.к. на многих RP-серверах могут быть аббревиатуры типа CNN, ФБР и т.п.PHP код:
const MIN_CAPS_SYMBOLS = 4; // минимальное кол-во символов капсом, при котором нужно преобразовать содержимое строки
for(new i=0,caps=0; ;++i) // перебирать каждый символ в строке
{
switch(string[i])
{
case '\0': // если нуль-символ (конец строки) - выйти
break;
case 'A'..'Z', 'А'..'Я', 'Ё': // если заглавная буква
{
caps++; // увеличить счётчик капса
if(caps == MIN_CAPS_SYMBOLS) // если счётчик равен мин. кол-ву символов капсом для исправления
{
for(i=0; ; ++i) // с самого начала перебирать каждый символ для преобразования
{
switch(string[i])
{
case 'A'..'Z':
string[i] += 'a'-'A';
case 'А'..'П':
string[i] += 'а'-'А';
case 'Р'..'Я':
string[i] += 'р'-'Р';
case 'Ё':
string[i] = 'ё';
case '\0': // если конец строки - закончить преобразование и выйти из обоих циклов
break;
}
}
break;
}
}
}
}
Индивидуально в ЛС по скриптингу не помогаю. Задавайте все свои вопросы здесь (click).
Стол заказов:
Мои работы:
L0ndl3m (23.03.2014)
Эту тему просматривают: 1 (пользователей: 0 , гостей: 1)