ereg

Рома

был тут
ereg

нужно чтобы в переменной содержались, только латинские буквы, пробовал делать так:


if(ereg("\W", $name)){плохо}
else{хорошо:))}

не работает... подскажите что не так делаю...
 

Рома

был тут
только это не то что мне нужно...

Мне нужно не проверить наличие данных символов, а проверить наличие любых символов КРОМЕ этих... и если эти символы есть (кавычки, слэши и тп), сказать юзверю об ошибке...
 

OlEG

Guest
Ром, с логикой совсем плохо? :) Тогда так: if (!ereg("^[a-zA-Z0-9]$", $name))
 

Рома

был тут
OlEG писал(а):
> (!ereg("^[a-zA-Z0-9]$", $name))


Спасибо, я уже разобрался сделал так:

if(!ereg("[а-яА-Я0-9\\\/\'\"\{\}\^\$]", $name))

только вот теперь думаю не будут ли возникать какие-нибудь глюки из-за того что в запросе русские буквы...

Я вообще расчитывал что можно запрос составить, перечислив те сиволы которые должны встречаться, таким образом не надо былобы перечислять русские буквы...

Если кто-нибудь знает как составить подобный запрос подругому ПОМОГИТЕ!!!
 

DiMA

php.spb.ru
Команда форума
> Спасибо, я уже разобрался сделал так:

нихера ты не разобрался. Сделай тест на строку "+" или "text#$%^&*" и проверка в обломе.

1. все слеши, кроме \", не нужны (почему - в ман)
2. ты написал проверку, отвечающую на вопрос - а есть ли в тексте буквы или цифры? Это не то, что требовалось первоначально.

В регах метод обезьяны и создание аналогий не проходит..

> Ром, с логикой совсем плохо? :) Тогда так: if (!ereg("^[a-zA-Z0-9]$", $name))

у тебя тоже не очень.. Реги (их СМЫСЛ) могут меняються только от изменения регулярного выражения, а не от операций над самой фукнцией.
 

Рома

был тут
> Сделай тест на строку "+" или "text#$%^&*" и проверка в обломе

Вобщем-то мне пофигу есть эти символы или нет, выжны были кавычки...


> 1. все слеши, кроме \", не нужны (почему - в ман)

Ман:

Также в шаблонах в качестве простых символов используются специальные символы.
\\ -символ "\".
\/ -символ "/".
\" - двойная кавычка.
\' - одинарная кавычка.
\. - точка.
\^ - символ "^".
\$ - символ "$".
\* - символ "*".
\? - символ "?".
\+ - символ "+".
\{ - символ "{".
\} - символ "}".
\t - табуляция.
\n - новая строка.
\r - возврат каретки.
\v - вертикальная табуляция.
\f - перевод формата.
\a - звонок.
\e - escape.
\0NN - восьмеричный код символа ( например \033 ).
\xNN - шестнадцатиричный код символа ( например \x0F ).

> ты написал проверку, отвечающую на вопрос - а есть ли в тексте буквы или цифры? Это не то, что требовалось первоначально

Это как раз проверка на то есть ли в тексте русские буквы и те символы, которые я перечислил, и если они есть, то пользователю выдается ошибка, что изначально и требовалось...

Так что ты бы лучше молчал...
 

Рома

был тут
Romik Chef писал(а):
>
> Не понимаю я людей.
> Их за шкирку к светлому и доброму тащат. Носом в собственные
> ошибки тычут - для их же блага!

Хех, не знал что слова "нихера ты не разобрался" и "логикой совсем плохо" показывают на мои ошибки:)) Могли бы по нормальному объяснить, а не наезжать, а потом пищать о том что я хамлю:)) Тем более что ошибку я так и не увидел, ведь то что сделал я нормально работает...
 
Сверху