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

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> составление шаблона для eregi 
V
    Опции темы
ShamanVoodoo
Дата 5.8.2008, 16:22 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


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

Репутация: нет
Всего: -3



есть строка вида "[11] Кристаллическая Руда 91.02 (92) ", нужно проверить соответствует ли она шаблону "[ 1-3 цифры ] любой текст ( 1-3цифры )", если не сложно подскажите шаблон или где взять информацию по составлению этого шаблона.
PM MAIL ICQ   Вверх
skyboy
Дата 5.8.2008, 17:17 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


неОпытный
****


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

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



в мане расписано
PM MAIL   Вверх
ShamanVoodoo
Дата 5.8.2008, 18:47 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


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

Репутация: нет
Всего: -3



о! пасиб! а то в описании самой функции ни слова =\
PM MAIL ICQ   Вверх
ShamanVoodoo
Дата 5.8.2008, 21:57 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


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

Репутация: нет
Всего: -3



пробую "^\[[0-9]{1.3}\]"+[a-z0-9\.-]+\([0-9]{1,3}\)$" , но ничего не получается  smile 
PM MAIL ICQ   Вверх
Mal Hack
Дата 5.8.2008, 22:02 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Мудрый...
****


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

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



Код

if(preg_match("/^\[\d{3}.+?\(\d{2}\)\]$/", trim(str)))
{ ... }

При этом, рекомендую, обратить внимание на http://php.net/trim и сопоставить ее применение с вашей задачей.
Регулярные выражения PRCE оптимальнее, чем POSIX.
PM ICQ   Вверх
ShamanVoodoo
Дата 5.8.2008, 22:10 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


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

Репутация: нет
Всего: -3



^\[\d{1,3}\](.*)+(\(\d{1,3}\))$
разобрался)
PM MAIL ICQ   Вверх
Mal Hack
Дата 5.8.2008, 22:14 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Мудрый...
****


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

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



ShamanVoodoo
1. Вы зря скобки ставите лишние... Под них выделяется лишняя память, а она вам ни к чему, вам же проверить по шаблону надо, а не распарсить...
2. (.*)+ - бред написан. Значит любой символ ноль и более раз один и более раз.
PM ICQ   Вверх
ShamanVoodoo
Дата 5.8.2008, 22:25 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


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

Репутация: нет
Всего: -3



^\[\d{1,3}\](.*)\(\d{1,3}\)$ ?
да ,я уже обратил внимание что eregi работает криво и перешел на 
Код

preg_match("/^\[\d{1,3}\](.*)\(\d{1,3}\)$/",$str)
, я просто проверяю выражение через The Regex Coach, а не скриптом. trim  в функции "подрезки" переменных:
Код

function var_cutter($v)
{
$cute_v=substr($v,0,254);
$cute_v=strip_tags($cute_v);
$cute_v=trim($cute_v);

return $cute_v;
};


Это сообщение отредактировал(а) ShamanVoodoo - 5.8.2008, 22:30
PM MAIL ICQ   Вверх
Mal Hack
Дата 5.8.2008, 22:36 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Мудрый...
****


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

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



Цитата(ShamanVoodoo @  5.8.2008,  23:25 Найти цитируемый пост)
$cute_v=substr($v,0,254);

А это зачем?

ShamanVoodoo, опять-таки .* - значит "ноль и более" раз, а вам нужно, как миниму чтоб хоть какой-ть символ там был, исходя из задачи, которую вы поставили в первом после, плюс, не забудте про ?.
Уберите скобки вокруг.*...
PM ICQ   Вверх
ShamanVoodoo
  Дата 5.8.2008, 22:49 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


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

Репутация: нет
Всего: -3



substr для того чтобы длинные переменные не пытались засунуть, maxsize в формах стоит, но его же можно обойти...

Код

preg_match("/^\[\d{1,3}\]+?.+\(\d{1,3}\)$/",$str)
 так?

Это сообщение отредактировал(а) ShamanVoodoo - 5.8.2008, 22:57
PM MAIL ICQ   Вверх
Mal Hack
Дата 5.8.2008, 23:04 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Мудрый...
****


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

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



Цитата(ShamanVoodoo @  5.8.2008,  23:49 Найти цитируемый пост)
substr для того чтобы длинные переменные не пытались засунуть, maxsize в формах стоит, но его же можно обойти...

А вы уверены, что 253 байта вам хватит???
Эта строчка не нужна вам.
Цитата(ShamanVoodoo @  5.8.2008,  23:49 Найти цитируемый пост)
так?

Я же выше написал:
Код

if(preg_match("/^\[\d{1,3}.+?\(\d{1,2}\)\]$/",str)
{ ... }

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


 




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


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

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