SiZE
Новичок
Предлагаю подумать над решением моей проблемы. У меня есть форум, с туевой горой пользователей, некоторые из которых злоупотребляют заглавными. В IPB есть два варианта защиты:
1. Удалять множество восклицательных/вопросительных знаков в названиях тем
2. Замена заглавных на строчные: НАЖМИТЕ СЮДА будет заменено на Нажмите Cюда.
Во втором случае темы начинают выглядеть как хромой заяц, поэтому хочу от этого отказаться.
У меня пока только одна идея, вычислить соотношение заглавных к строчным. Тогда можно будет и аббревиатуры указывать и заголовки вроде "МОЯ КРУТАЯ ТЕМА" не пройдут.
Какие-то еще стоит добавить варианты проверки?
1. Удалять множество восклицательных/вопросительных знаков в названиях тем
2. Замена заглавных на строчные: НАЖМИТЕ СЮДА будет заменено на Нажмите Cюда.
Во втором случае темы начинают выглядеть как хромой заяц, поэтому хочу от этого отказаться.
У меня пока только одна идея, вычислить соотношение заглавных к строчным. Тогда можно будет и аббревиатуры указывать и заголовки вроде "МОЯ КРУТАЯ ТЕМА" не пройдут.
PHP:
$str = "Злоупотребление заглавными буквами. Варианты предотвращения.";
$upper_count = preg_match_all('#[А-ЯЁ]{1}#u', $str);
$lower_count = preg_match_all('#[а-яё]{1}#u', $str);
$rate = $upper_count / $lower_count;
if ( $rate > 0.3 ) {
// error
}