Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
Форум программистов > PHP: Общие вопросы > пропускать только буквы Aa-Zz и Аа-Яя и цифры 0-9 |
Автор: artlayers 19.6.2010, 07:48 |
Как сделать средствами php так чтобы текстовая переменная, содержащая в себе некоторую строку, ну например "asdfaklwjnwkwqJGBSASA121SA GCFSA - dsfdsdd" проверялась на наличие в ней только символов Aa-Zz и Аа-Яя и цифры 0-9 и знаков _ - — и пробела. Если присутвует хотя бы один смвол не из этой последовательности, то нужно об этом просто сказать. Реализацию через strpos знаю, но она слишком глупа ![]() |
Автор: patap 19.6.2010, 09:32 | ||
|
Автор: artlayers 19.6.2010, 12:44 | ||
Попробовал вот так, не работает, ничего не выводит
|
Автор: ksnk 19.6.2010, 13:08 |
Ух ты! А про оператор else что-нибудь удалось узнать на уроках программирования? |
Автор: artlayers 19.6.2010, 13:25 | ||
да мне ничего не надо выводить если там все так, дело в том, что даже на строку $str='фбвгджзsfsdfsdfsdhjutgjfg'; и на строку $str='фбвгджзsfsdfsdf;%:?*)()*"№sdhjutgjfg'; никак не реагирует, всегда 0 возвращает |
Автор: patap 19.6.2010, 15:42 | ||
так попробуй
|
Автор: artlayers 19.6.2010, 15:47 | ||
Большое спасибо! Работает. Немножко подправил
|
Автор: patap 19.6.2010, 16:05 |
artlayers, тогда убери флаг i, он указывает на регистронезависимость да, и если тема решена - отмечай как "Решенная" ![]() |
Автор: artlayers 19.6.2010, 18:59 |
не работает регистронезависимость через i почему-то понял в чем проблема. для латиницы все хорошо, а для кириллицы вот такое, например слово "кириллица" выглядит как "%EA%E8%F0%E8%EB%EB%E8%F6%E0" что можно тут придумать, чтобы такую строку проверить? |
Автор: bars80080 19.6.2010, 19:34 |
преобразовать вначале через rawurldecode($str) |
Автор: artlayers 19.6.2010, 20:53 |
помогло, спасибо |