Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / PHP, Perl, Python [игнор отключен] [закрыт для гостей] / eregi / 10 сообщений из 10, страница 1 из 1
04.12.2004, 23:13
    #32813230
Vovan_Tverskoy
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
eregi
Всем доброго времени суток.
Помогите с ereg, а именно, из формы приходит значение цвета в формате
$a='#0a2533'; Надо его проверить что бы было ровно 3 пары значений после # не больльше и не меньше. Делаю так: $b=ereg('#+[a-fA-F0-9]{6}',$a);
Так вот если задано, например #0a25 - соответственно дает ошибку, и это правильно. А если #0a253456 то ошибку не дает. Подскажите, плз. где ошибочка.
...
Рейтинг: 0 / 0
05.12.2004, 00:00
    #32813252
*
*
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
eregi
$b = preg_match('/^\s*#?[0-9A-F]{6}\s*$/si',$a);
PS: кстати, цвета могут задаваться не только цифрами, но и именами. До кучи - читайте PCRE , Регулярные выражения, часть I + часть II , про POSIX (ereg-функции) советую вообще забыть ;)
...
Рейтинг: 0 / 0
05.12.2004, 14:16
    #32813406
DocAl
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
eregi
Отчего же забыть? Они достаточно распространены, и если вам они не нужны -- это не означает, что они не нужны никому.
...
Рейтинг: 0 / 0
05.12.2004, 14:34
    #32813412
*
*
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
eregi
DocAlОтчего же забыть? Они достаточно распространены, и если вам они не нужны -- это не означает, что они не нужны никому.Нужны они мне или ненужны, нужны они вам или ненужны - это разговор на уровне детского лепета.
Минусы POSIX:
1. Они как правило более медленны. Об этом, в частности, в пропахшей нафталином статье Оптимизация программ на PHP
2. Их возможности слишком примитивны и с лёгкостью перекрываются возможностями PCRE.
3. PCRE используется также в Апачевских конфигах да и много где ещё - гораздо проще знать один универсальный механизм, чем много разных, применяемых под задачу - незачем голову мусором забивать.
Плюсы:
Лично мне неизвестно ни одного.
...
Рейтинг: 0 / 0
05.12.2004, 14:36
    #32813413
*
*
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
eregi
PS: аргументы типа "я видел их использование в массе чужих скриптов, многие из которых скачал с файлопомоек" просьба не приводить - это просто смешно ;)
...
Рейтинг: 0 / 0
05.12.2004, 15:27
    #32813430
DocAl
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
eregi
А аргументы я видел (и использовал) их в других областях, где альтернативой может быть только простейшие шаблоны? (типа ^*?$)
...
Рейтинг: 0 / 0
05.12.2004, 16:09
    #32813438
*
*
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
eregi
DocAlА аргументы я видел (и использовал) их в других областях, где альтернативой может быть только простейшие шаблоны? (типа ^*?$)Это голословно и неконкретно. Я тоже много чего видел (кстати, вы привели вообще какой-то левый шаблон), многое из видимого далеко неидеально ;) Например, в DOS'е вообще нет регулярок - есть только * и ? - и что же? :) Теперь прикажете отказаться в PHP от встроенного механизма PCRE и пользоваться только такими примитивами (естесственно, предварительно написав для этого библиотечку)? :)
PS: прошу заметить - речь идёт о PHP. В качестве аргумента ещё можно было бы принять, что POSIX реализован на других перспективных скриптовых серверных (и клиентских) языках, если при этом не реализовано PCRE - только я что-то сомневаюсь существовании подобных - все остальные ограничения, которые могут быть - скорее, искусственны.
...
Рейтинг: 0 / 0
05.12.2004, 17:03
    #32813460
*
*
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
eregi
Забыл ещё один минус - http://php.net/ref.regex
These regular expression functions are not binary-safe. The PCRE functions are.
...
Рейтинг: 0 / 0
05.12.2004, 18:17
    #32813487
DocAl
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
eregi
* DocAlА аргументы я видел (и использовал) их в других областях, где альтернативой может быть только простейшие шаблоны? (типа ^*?$)Это голословно и неконкретно. Я тоже много чего видел (кстати, вы привели вообще какой-то левый шаблон), многое из видимого далеко неидеально ;) Например, в DOS'е вообще нет регулярок - есть только * и ? - и что же? :) Теперь прикажете отказаться в PHP от встроенного механизма PCRE и пользоваться только такими примитивами (естесственно, предварительно написав для этого библиотечку)? :)
PS: прошу заметить - речь идёт о PHP. В качестве аргумента ещё можно было бы принять, что POSIX реализован на других перспективных скриптовых серверных (и клиентских) языках, если при этом не реализовано PCRE - только я что-то сомневаюсь существовании подобных - все остальные ограничения, которые могут быть - скорее, искусственны.
Это был не шаблон, это собственно все элементы, кроме символов, которые могут быть использованы.
Кстати, я же не говорю, что PCRE -- это жуткая гадость, которую следует забыть как страшный сон (скорее это Вы так говорите о POSIX ,) ), я лишь утверждал, что подобное утверждение о POSIX-совместимых регулярных выражениях звучит чересчур категоричным ,)
...
Рейтинг: 0 / 0
05.12.2004, 18:26
    #32813492
*
*
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
eregi
Я лишь привёл аргументы - насколько они весомы - это решать конечному пользователю, в частности - вопрошавшему ;)
...
Рейтинг: 0 / 0
Форумы / PHP, Perl, Python [игнор отключен] [закрыт для гостей] / eregi / 10 сообщений из 10, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]