Модераторы: skyboy, MoLeX, Aliance, ksnk

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> ereg, а может что-то ещё? как посчитать количство больших букв? 
:(
    Опции темы
Secandr
Дата 13.1.2004, 10:34 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Связист
****


Профиль
Группа: Экс. модератор
Сообщений: 4043
Регистрация: 3.8.2003
Где: Russia, Volgograd

Репутация: 5
Всего: 39



Нужно сосчитать количество больших букв и елси оно больше 10, то перевести их в нижний регистр.
Просто найти болшую букву:
ereg('[A-ZА-Я]',$string,$array);
Могу придумать как заменить большие буквы на маленькие:
preg_replace(range('A', 'Z'),range('a', 'z'),$string);
preg_replace(range('А', 'Я'),range('а', 'я'),$string);

А вот как посчитать количество больших букв?


--------------------
Мышки плакали, кололись, но продолжали жрать кактусы (с) cisco
PM ICQ AOL   Вверх
Secandr
Дата 13.1.2004, 10:37 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Связист
****


Профиль
Группа: Экс. модератор
Сообщений: 4043
Регистрация: 3.8.2003
Где: Russia, Volgograd

Репутация: 5
Всего: 39



И ещё в тему: "как посчитать количесво одинаковых сомволов стоящих подряд".


--------------------
Мышки плакали, кололись, но продолжали жрать кактусы (с) cisco
PM ICQ AOL   Вверх
IZ@TOP
Дата 13.1.2004, 10:52 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Панда-бир!
****


Профиль
Группа: Участник
Сообщений: 4795
Регистрация: 3.2.2003
Где: Бамбуковый лес

Репутация: 44
Всего: 73



Попробуй
$text = ereg_replace("([A-Z]{10, 1000000})", strtolower("\1"), $text);


--------------------
Один из розовых плюшевых-всадников апокалипсиса... очень злой...

Семь кругов ада для новых элементов языка
Мои разрозненные мысли
PM MAIL WWW ICQ Skype GTalk   Вверх
Secandr
Дата 13.1.2004, 11:56 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Связист
****


Профиль
Группа: Экс. модератор
Сообщений: 4043
Регистрация: 3.8.2003
Где: Russia, Volgograd

Репутация: 5
Всего: 39



Вот написал:
Код
<?
$text='ABCDEFGHIJKLMNOP';
$text = ereg_replace("([A-Z]{10, 1000000})", strtolower("\1"), $text);
echo $text;
?>
А вот что увидел:
Код
Warning: ereg_replace() [function.ereg-replace]: REG_BADBR: in c:\inetpub\www\2.php on line 3



--------------------
Мышки плакали, кололись, но продолжали жрать кактусы (с) cisco
PM ICQ AOL   Вверх
Secandr
Дата 13.1.2004, 12:01 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Связист
****


Профиль
Группа: Экс. модератор
Сообщений: 4043
Регистрация: 3.8.2003
Где: Russia, Volgograd

Репутация: 5
Всего: 39



Вот подправил:
Код
<?
$text='ABCDEFGHIJKLMNOP';
$text = ereg_replace("([A-Z]{10,20})", '!'.strtolower("\\1").'!', $text);
echo $text;
?>
но всёравно неработает, выдаёт:!ABCDEFGHIJKLMNOP!
А если поставить A B C D E F G H I J K L M N O P - вообще неработает.

Это сообщение отредактировал(а) Secandr - 13.1.2004, 12:02


--------------------
Мышки плакали, кололись, но продолжали жрать кактусы (с) cisco
PM ICQ AOL   Вверх
Unregistered
Дата 13.1.2004, 12:35 (ссылка)    |    (голосов: 0) Загрузка ... Загрузка ... Быстрая цитата Цитата


Unregistered











Тогда надо сначало нйти все вхождения, изменить их, а потом заменить. Но это ИМХО тормозно получится ...
  Вверх
Secandr
Дата 13.1.2004, 14:23 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Связист
****


Профиль
Группа: Экс. модератор
Сообщений: 4043
Регистрация: 3.8.2003
Где: Russia, Volgograd

Репутация: 5
Всего: 39



мне просто нужно посчитать количество символов A-Z и А-Я


--------------------
Мышки плакали, кололись, но продолжали жрать кактусы (с) cisco
PM ICQ AOL   Вверх
Dimetrius
Дата 13.1.2004, 14:41 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 28
Регистрация: 12.1.2004

Репутация: 1
Всего: 1



вопрос:
perevsti все, которых больше 10 или перевести все?
PM MAIL WWW   Вверх
Secandr
Дата 13.1.2004, 15:12 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Связист
****


Профиль
Группа: Экс. модератор
Сообщений: 4043
Регистрация: 3.8.2003
Где: Russia, Volgograd

Репутация: 5
Всего: 39



Лучше все.


--------------------
Мышки плакали, кололись, но продолжали жрать кактусы (с) cisco
PM ICQ AOL   Вверх
Dimetrius
Дата 13.1.2004, 15:46 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 28
Регистрация: 12.1.2004

Репутация: 1
Всего: 1



preg_match_all("/[A-Z]/",$string,$matches);
if(count($matches[0])>10) $string = strToLower($string);
PM MAIL WWW   Вверх
Secandr
Дата 13.1.2004, 16:18 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Связист
****


Профиль
Группа: Экс. модератор
Сообщений: 4043
Регистрация: 3.8.2003
Где: Russia, Volgograd

Репутация: 5
Всего: 39



Dimetrius сенкс.
Всё работает inlove.gif

Это сообщение отредактировал(а) Secandr - 13.1.2004, 16:22


--------------------
Мышки плакали, кололись, но продолжали жрать кактусы (с) cisco
PM ICQ AOL   Вверх
Dimetrius
Дата 13.1.2004, 16:27 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 28
Регистрация: 12.1.2004

Репутация: 1
Всего: 1



на здоровье :-)
PM MAIL WWW   Вверх
Secandr
Дата 13.1.2004, 20:10 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Связист
****


Профиль
Группа: Экс. модератор
Сообщений: 4043
Регистрация: 3.8.2003
Где: Russia, Volgograd

Репутация: 5
Всего: 39



А как насчёт поиска символов стоящих подряд?
Как определить сколько таких?


--------------------
Мышки плакали, кололись, но продолжали жрать кактусы (с) cisco
PM ICQ AOL   Вверх
Dimetrius
Дата 13.1.2004, 22:29 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 28
Регистрация: 12.1.2004

Репутация: 1
Всего: 1



первое правило любого поиска - нужно знать что ищешь wink.gif
"как посчитать количество одинаковых символов стоящих подряд" - звучит расплывчато.
например, "ааббббббббввввввв" - что считать будем?
Если можно, в кратце - а зачем тебе это нужно?
PM MAIL WWW   Вверх
IZ@TOP
Дата 14.1.2004, 13:55 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Панда-бир!
****


Профиль
Группа: Участник
Сообщений: 4795
Регистрация: 3.2.2003
Где: Бамбуковый лес

Репутация: 44
Всего: 73



Dimetrius, это видимо либо для форума, либо для чата smile.gif Но это мое предположение ...


--------------------
Один из розовых плюшевых-всадников апокалипсиса... очень злой...

Семь кругов ада для новых элементов языка
Мои разрозненные мысли
PM MAIL WWW ICQ Skype GTalk   Вверх
Dimetrius
Дата 14.1.2004, 14:00 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 28
Регистрация: 12.1.2004

Репутация: 1
Всего: 1



ты имеешь в виду, что нужно, например, заменить "аааббббввв" на "абв"?
PM MAIL WWW   Вверх
IZ@TOP
Дата 14.1.2004, 14:02 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Панда-бир!
****


Профиль
Группа: Участник
Сообщений: 4795
Регистрация: 3.2.2003
Где: Бамбуковый лес

Репутация: 44
Всего: 73



Dimetrius, я не знаю что ему нужно именно, это мое предположение ... но я бы не стал менять ааабббввв на абв ...


--------------------
Один из розовых плюшевых-всадников апокалипсиса... очень злой...

Семь кругов ада для новых элементов языка
Мои разрозненные мысли
PM MAIL WWW ICQ Skype GTalk   Вверх
Secandr
Дата 15.1.2004, 17:38 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Связист
****


Профиль
Группа: Экс. модератор
Сообщений: 4043
Регистрация: 3.8.2003
Где: Russia, Volgograd

Репутация: 5
Всего: 39



Iz@top Это для чата. Заказчик начал выкидывать "гениальные" идеи которых небыло в ТЗ sad.gif Сейчас вот борюсь со флудом sad.gif

Нужно определить максимальное количество одинаковых букв идущих подряд и в случае если их количество меньше 10(например) внести сообщение в БД, если больше - послать хользователя.

Т.е. Если имеем сообщение: "Помогите! Аааааааа !!!!" - пробускаем, если: "б ааааааааааааааааааааа б" - убиваем.


--------------------
Мышки плакали, кололись, но продолжали жрать кактусы (с) cisco
PM ICQ AOL   Вверх
Dimetrius
Дата 15.1.2004, 19:42 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 28
Регистрация: 12.1.2004

Репутация: 1
Всего: 1



$MyNewString = str_replace(" ","",$string);
if(!preg_match("/[^0-9])(\1){10,}/",$MyNewString)) echo $string;
else echo "флууууддддд";
PM MAIL WWW   Вверх
MuToGeN
Дата 16.1.2004, 10:40 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Лесник
****


Профиль
Группа: Модератор
Сообщений: 4379
Регистрация: 15.8.2002
Где: Москва

Репутация: 7
Всего: 32



if(!preg_match("/[^0-9])(\\1){10,}/",$MyNewString)) echo $string;


--------------------
Three pings for the token rings,
Five pings for the UNIX machines,
Hundred pings for the broken links,
One special ping to check them all
Through Simple Network Management Protocol!
PM MAIL ICQ   Вверх
Secandr
Дата 16.1.2004, 11:07 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Связист
****


Профиль
Группа: Экс. модератор
Сообщений: 4043
Регистрация: 3.8.2003
Где: Russia, Volgograd

Репутация: 5
Всего: 39



сенкс


--------------------
Мышки плакали, кололись, но продолжали жрать кактусы (с) cisco
PM ICQ AOL   Вверх
Dimetrius
Дата 16.1.2004, 11:08 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 28
Регистрация: 12.1.2004

Репутация: 1
Всего: 1



Ха-Ха-Ха...
ну мы с тобой молодцы, МуТоГен :-)
на самом деле, еще нужно одну скобку впереди поставить :-)
я писал просто из головы, навскидку и не проверил...сорри
это точно работает:
if(!preg_match("/( [^0-9])(\\1){10,}/",$MyNewString)) echo $string;
PM MAIL WWW   Вверх
Secandr
Дата 16.1.2004, 15:32 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Связист
****


Профиль
Группа: Экс. модератор
Сообщений: 4043
Регистрация: 3.8.2003
Где: Russia, Volgograd

Репутация: 5
Всего: 39



Код
<?
$string='sdddddd dd ddddddddddd ddddddddddddddddddddddddddddd dddddds';
$MyNewString = str_replace(" ","",$string);
if(!preg_match("/([^0-9])(\1){10,}/",$MyNewString)) echo $string;
else echo "флууууддддд";
?>

Неработает: выводит sdddddd dd ddddddddddd ddddddddddddddddddddddddddddd dddddds


--------------------
Мышки плакали, кололись, но продолжали жрать кактусы (с) cisco
PM ICQ AOL   Вверх
Dimetrius
Дата 16.1.2004, 15:58 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 28
Регистрация: 12.1.2004

Репутация: 1
Всего: 1



ты один "\" пропустил

if(!preg_match("/([^0-9])(\\ 1){10,}/",$MyNewString)) echo $string;

PM MAIL WWW   Вверх
Secandr
Дата 16.1.2004, 16:06 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Связист
****


Профиль
Группа: Экс. модератор
Сообщений: 4043
Регистрация: 3.8.2003
Где: Russia, Volgograd

Репутация: 5
Всего: 39



Всё работает smile.gif


--------------------
Мышки плакали, кололись, но продолжали жрать кактусы (с) cisco
PM ICQ AOL   Вверх
Страницы: (2) [Все] 1 2 
Ответ в темуСоздание новой темы Создание опроса
Правила форума "PHP"
Aliance
IZ@TOP
skyboy
SamDark
MoLeX

Новичкам:

  • PHP редакторы собираются и обсуждаются здесь
  • Электронные книги по PHP, документацию можно найти здесь
  • Интерпретатор PHP, полную документацию можно скачать на PHP.NET

Важно:

  • Не брезгуйте пользоваться тегами [code=php]КОД[/code] для повышения читабельности текста/кода.
  • Перед созданием новой темы воспользуйтесь поиском и загляните в FAQ
  • Действия модераторов можно обсудить здесь

Внимание:

  • Темы "ищу скрипт", "подскажите скрипт" и т.п. будут переноситься в форум "Web-технологии"
  • Темы с именами: "Срочно", "помогите", "не знаю как делать" будут УДАЛЯТЬСЯ

Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, IZ@TOP, skyboy, SamDark, MoLeX, awers.

 
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | PHP: Общие вопросы | Следующая тема »


 




[ Время генерации скрипта: 0.1616 ]   [ Использовано запросов: 21 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.