Алгоритм идентификации блондинок средствами JavaScript и PHP

12 3
K
На сайте с 12.07.2006
Offline
295
Kpd
3659

Хочу запретить на своем форуме блондинкам и людям с неокрепший психикой писать сообщения ЗАГЛАВНЫМИ БУКВАМИ (и пОЧТИ зАГЛАВНЫМИ). Как проще определить регистр текста средствами JavaScript и PHP? Очевидно, что можно сделать посимвольный разбор текста, проверить регистр каждого символа, и если букв в верхнем регистре больше чем букв в нижнем регистре, то выдавать инструкцию по отключению клавиши CAPS LOCK. Кто-нибудь знает более простые решения?

topy
На сайте с 28.03.2006
Offline
142
#1

Дык, собсно задача состоит в определении блондинки или в исправлении написаного в нижний регистр? Не совсем понятно.

Попробуйте просто принудительно понижать регистр и все.

Новости коротко и ясно (https://subnews.ru)
-=Илья=-
На сайте с 05.12.2003
Offline
222
#2

Пендык программерам в теме FAQ по PHP :)

K
На сайте с 12.07.2006
Offline
295
Kpd
#3
topy:
Дык, собсно задача состоит в определении блондинки или в исправлении написаного в нижний регистр?

В определении "блондинки", т.е. регистра текста (в целом).

-=Илья=-:
Пендык программерам в теме FAQ по PHP

Очень конкретный совет :)

Возможно, я нечетко сформулировал вопрос, ещё раз, есть лучший способ определения регистра текста (букв какого регистра в тексте больше) в JavaScript и PHP, чем посимвольный перебор?

PHPExpert
На сайте с 04.02.2006
Offline
104
#4

Есть функция для изменения регистра strtolower($text); - преобразует строку в нижний регистр.

можно воспользоваться таким вариантом.


function blondinka_kill($text)
{
$text = strtr($text, "АБВГДЕЁЖЗИЙКЛМНОПРСТУФХЦЧШЩЪЫЬЭЮЯ", "абвгдеёжзийклмнопрстуфхцчшщъыьэюя");
return $text;
}
K
На сайте с 12.07.2006
Offline
295
Kpd
#5
PHPExpert:
Есть функция для изменения регистра strtolower($text); - преобразует строку в нижний регистр.
можно воспользоваться таким вариантом.

Мне не нужно заменять буквы, мне нужно только определить в каком они регистре :)

D
На сайте с 14.01.2007
Offline
153
#6
Kpd:
Мне не нужно заменять буквы, мне нужно только определить в каком они регистре

регулярками? если заглавные идут дальше первой буквы в слове(или ещё проще 2 заглавые подряд) то харакири

K
На сайте с 12.07.2006
Offline
295
Kpd
#7
Dinozavr:
регулярками? если заглавные идут дальше первой буквы в слове(или ещё проще 2 заглавые подряд) то харакири

УК РФ 🙅

Zhilinsky
На сайте с 05.08.2007
Offline
86
#8

Дофига исключений, стоит написать скрипт - сразу выяснится, что есть, например, слово ДОСААФ или что-нить подобное, которое всё равно попадёт под фильтр =)

Так что лучше проверить - не ВСЕ ли буквы заглавные, вот тогда - харакири ^_^

Жилинский (http://жилинский.рф/).
PHPExpert
На сайте с 04.02.2006
Offline
104
#9

Первое что пришло в голову.


function check($text)
{
$text = strtr($text, "АБВГДЕЁЖЗИЙКЛМНОПРСТУФХЦЧШЩЪЫЬЭЮЯ", "################################");
if(strstr($text, '#') ) print("Верхний регистр");
}
check("ЙА БЛОндинКА");

НО! функция не учитывает то что первая буква в предложении может быть с заглавной буквы. Можно конечно найти выход, но лучше как сказали регулярками.

K
На сайте с 11.12.2006
Offline
103
kip
#10

strtolower(); - преобразовение текста в нижний регистор ):

Надежные и недорогие VPS/VDS (http://goo.gl/iifGKa) Бананы за выкуп (http://goo.gl/ZpRgC1)
12 3

Авторизуйтесь или зарегистрируйтесь, чтобы оставить комментарий