Forum Webscript.Ru
Программирование => PHP => Тема начата: Hong от 16 Июня 2003, 22:54:56
-
Привет.
Помогите где тут ошибка:
Мне надо так штобы поcле занеcения в форму двух одинаковyх знаков друг за другом выходила ошибка. Ета чаcть сkрипта работает чуть-чуть неверно, еcли задать к примеру "аба" то ето тоже будет правилным значением т.к буква "а" преcутcвует два раза.
if (ereg("[a-z]{2,}", $var)) {
echo "Неправилно два одинаковых знака!";
}
else
echo "true";
-
if (preg_match("!(.)\\\\1!", $var)) {
echo "Неправилно два одинаковых знака!";
}
else
echo "true";
-
Привет.
Я немного не правилно написал, я хотел штобы толко болшые буквы не повторялись, а маленкие буквы, знаки могут повторяться.
Если есть у тебя время, помоги мне переписать етот маленкий Script.
Cпасибо.
Cu.
-
if (preg_match("!([A-ZА-Я])\\\\1!", $var)) {
echo "Неправилно два одинаковых знака!";
}
else
echo "true";
-
Cлушай Neter может мне скажеш урл на русском где я могу прочитать как мне ети регулярные выражения с командой preg_match исползовать, а то мне тут надо ешё кое што сделать, как то спрашивать не охото а то луди подумают мало ли што ;=)
Да кстати я тебе два раза 5 за помощь поставил.
Cu.
-
:)
http://providerz.ru/articles/php/regexp-intro.html
http://providerz.ru/articles/php/regexp-continue.html
Асм.
-
Neter:
Асм.
\\m/_ _\\m/
-
Прочитал я про регулярные выражения, но вот не как непойму некоторую часть кода.
P.S Neter
Можешь пожалуйста мне обеснить зачем тут стоит в начале и конце "!" и для чего нужно \\\\1
спасибо за помощь.
(вторую пять поставлю дома ;=)
Cu.
-
Hong
ты можешь ставить пять сколько угодно раз. Но одному человеку оценку ты можешь выставить только одну. Сиди-сиди, тыкай в кнопочку.
-
Cлушай Хандер не умнечей, я тут народ о помощи спрашиваю, а если не знаеш как можно 2 раза или болше поставить оценку, то тогда и не болтай.
-
Xander Типа да, типа я тут помогаю :)
Hong "!" - это разделитель паттерна и его модификаторов, можно использовать и другие символы не являющиеся специальными, например "/".
preg_match("/[a-z]/i", "AfzHJug");
Найдёт все буквы латинского алфавита вне зависимости от регистра.
\\\\1 - это переменная содержащая результат работы подпатена(subpattern).
Например:
((маленький) (мальчик)) шёл
\\\\0 - Весь паттерн (маленький мальчик шёл)
\\\\1 - маленький мальчик
\\\\2 - маленький
\\\\3 - мальчик