Forum Webscript.Ru
Программирование => PHP => Тема начата: GRS от 23 Сентября 2005, 18:23:11
-
Приветствую.
Мне нужно получить FALSE при условии, что строка больше двух символов (любых). Я использую ereg(). Вот, как я пишу:
$txtFirm="КНБ";
if(ereg(".{2}", $txtFirm)==1){
print"OK
";
}
else{
print"NO!
";
}
Ответ ОК я получаю всегда, хоть сколько там символов, будто он не понимает мои скобки {}. Где ошибка?
А, и еще: если в условии функции ставить не два знака равенства подряд, а один - всегда выполняется условие до ELSE и все. Пробовал на разных вариантах, даже, делал цикл if ($a=1){...}else{...} при том, что $а = 21222, все равно: выполняет что идет до ELSE. Везде в документациях в примерах стоит один знак равенства, но теперь я вообще сомневаюсь в объективности этих "учебников".
Может дело в программе? У меня PHP Expert Editor 3.3, я заметил у него одну особенность: что бы нормально страница функционировала после изменения в ней кода, необходимо чистить Tempory Internet Files всякий раз перед запуском, иначе, работет неправильно, зачастую не реагирует на изменения в коде, а страницу из берет кэша.
Может, за одно, посоветуете хорошую программу с подсветкой кода PHP?
-
[p]strlen[/p]
-
Спасибо, тут разобрался уже: символ "точка" сам по себе означает ОДИН любой элемент. Выражение построено неправильно.
-
PHP FAQ: Регулярные выражения. (http://phpfaq.ru/regexp)