Доброго времени суток всем! Помогите пожалуйста решить пару вопросов по выражениям. 1. Как при регистрации сделать не более 2-х пробелов в логине (не подряд а в разнобой). 2. Как вырезать все цифры и символы кроме русских и латинских букв? Буду весьма благодарен за помощь.
1) Код (PHP): if (preg_match('/^\S*\s?\S*\s?\S*$/', $login)) { // Если в логине не более двух пробелов, проверка пройдена } Возможные пробелы в начале и конце строки не учтены, так как они бессмысленны. Я так понимаю, нужно для ФИО, два пробела между тремя словами? 2) Пропустите строку через это: Код (PHP): $string = preg_replace('/[^a-zа-я]/i', '', $string); Но лучше посоветуйтесь с профессионалами. Я не профи, могу чего-то не учесть. На вид работает вроде ))
Пхп довольно интересный язык с полезными функциями, но создавали язык как попало С первым пунктом можно справиться проще, без регулярок Код (PHP): echo substr_count('fgdg gdfg fdgd', ' '); 1) Буква ё не входит в интервал а-я. Букву ё надо отдельно указывать. 2) Русские буквы это все таки не ascii поэтому модификатор \u не помешал бы
работает только с маленькой доработкой.. === if (!preg_match('/^\S*\s?\S*\s?\S*$/', $login)) { // Если в логине не более двух пробелов, проверка пройдена } === Добавлено спустя 51 секунду: Catrina, спасибо!)