Модераторы: skyboy, MoLeX, Aliance, ksnk
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> пропускать только буквы Aa-Zz и Аа-Яя и цифры 0-9 
V
    Опции темы
artlayers
Дата 19.6.2010, 07:48 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 19
Регистрация: 30.10.2007

Репутация: нет
Всего: нет



Как сделать средствами php так чтобы текстовая переменная, содержащая в себе некоторую строку, ну например "asdfaklwjnwkwqJGBSASA121SA GCFSA - dsfdsdd" проверялась на наличие в ней только символов Aa-Zz и Аа-Яя и цифры 0-9 и знаков _ - — и пробела. Если присутвует хотя бы один смвол не из этой последовательности, то нужно об этом просто сказать. Реализацию через strpos знаю, но она слишком глупа smile нужно поумнее. Подскажите пожалуйста.
PM MAIL   Вверх
patap
Дата 19.6.2010, 09:32 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 893
Регистрация: 7.5.2005
Где: Украина, Зп

Репутация: 26
Всего: 40



Код

if (preg_match('#^[—\w- ]+$#', $str)) {
  echo 'yep!';
}



Это сообщение отредактировал(а) patap - 19.6.2010, 09:50


--------------------
На боку кобура болталась, сзади шашка отцовская звякала. 
Впереди меня все хохотало, а позади все плакало (с)
PM MAIL ICQ   Вверх
artlayers
Дата 19.6.2010, 12:44 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 19
Регистрация: 30.10.2007

Репутация: нет
Всего: нет



Попробовал вот так, не работает, ничего не выводит

Код

<?php
$str="hjfgj%^<>fgjfgFSFSFSFSFWQRF-ОППОФМоолыавфыаышаыныртчлслвыдар—$098!@!!!!!!!!!!!!!!";
if (preg_match('#^[—\w- ]+$#', $str)) {
  echo 'yep!';
}
?>

PM MAIL   Вверх
ksnk
Дата 19.6.2010, 13:08 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


прохожий
****


Профиль
Группа: Комодератор
Сообщений: 6855
Регистрация: 13.4.2007
Где: СПб

Репутация: 96
Всего: 386



Цитата(artlayers @  19.6.2010,  12:44 Найти цитируемый пост)
... не работает, ничего не выводит

Ух ты! А про оператор else что-нибудь удалось узнать на уроках программирования?



--------------------
Человеку свойственно ошибаться, программисту свойственно ошибаться профессионально ! user posted image
PM MAIL WWW Skype   Вверх
artlayers
Дата 19.6.2010, 13:25 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 19
Регистрация: 30.10.2007

Репутация: нет
Всего: нет



Цитата(ksnk @ 19.6.2010,  13:08)
Цитата(artlayers @  19.6.2010,  12:44 Найти цитируемый пост)
... не работает, ничего не выводит

Ух ты! А про оператор else что-нибудь удалось узнать на уроках программирования?

да мне ничего не надо выводить если там все так, дело в том, что даже на строку 
$str='фбвгджзsfsdfsdfsdhjutgjfg';
и на строку 
$str='фбвгджзsfsdfsdf;%:?*)()*"№sdhjutgjfg';
никак не реагирует, всегда 0 возвращает

Это сообщение отредактировал(а) artlayers - 19.6.2010, 13:35
PM MAIL   Вверх
patap
Дата 19.6.2010, 15:42 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 893
Регистрация: 7.5.2005
Где: Украина, Зп

Репутация: 26
Всего: 40



так попробуй
Код

preg_match('#^[—а-яa-z0-9_\- ]+$#i', $str)


Это сообщение отредактировал(а) patap - 19.6.2010, 15:44


--------------------
На боку кобура болталась, сзади шашка отцовская звякала. 
Впереди меня все хохотало, а позади все плакало (с)
PM MAIL ICQ   Вверх
artlayers
Дата 19.6.2010, 15:47 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 19
Регистрация: 30.10.2007

Репутация: нет
Всего: нет



Большое спасибо! Работает. Немножко подправил
Код

preg_match('#^[—\А-Яа-яa-zA-Z0-9_\- ]+$#i', $str)


Это сообщение отредактировал(а) artlayers - 19.6.2010, 15:54
PM MAIL   Вверх
patap
Дата 19.6.2010, 16:05 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 893
Регистрация: 7.5.2005
Где: Украина, Зп

Репутация: 26
Всего: 40



artlayers, тогда убери флаг i, он указывает на регистронезависимость


да, и если тема решена - отмечай как "Решенная"  smile

Это сообщение отредактировал(а) patap - 19.6.2010, 16:22


--------------------
На боку кобура болталась, сзади шашка отцовская звякала. 
Впереди меня все хохотало, а позади все плакало (с)
PM MAIL ICQ   Вверх
artlayers
Дата 19.6.2010, 18:59 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 19
Регистрация: 30.10.2007

Репутация: нет
Всего: нет



не работает регистронезависимость через i почему-то
понял в чем проблема.
для латиницы все хорошо, а для кириллицы вот такое, например слово "кириллица" выглядит как "%EA%E8%F0%E8%EB%EB%E8%F6%E0" что можно тут придумать, чтобы такую строку проверить?

Это сообщение отредактировал(а) artlayers - 19.6.2010, 19:10
PM MAIL   Вверх
bars80080
Дата 19.6.2010, 19:34 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


прапор творюет
****
Награды: 1



Профиль
Группа: Завсегдатай
Сообщений: 12022
Регистрация: 5.12.2007
Где: Königsberg

Репутация: 71
Всего: 315



Цитата(artlayers @  19.6.2010,  18:59 Найти цитируемый пост)
что можно тут придумать, чтобы такую строку проверить?

преобразовать вначале через rawurldecode($str)
PM MAIL WWW   Вверх
artlayers
Дата 19.6.2010, 20:53 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 19
Регистрация: 30.10.2007

Репутация: нет
Всего: нет



помогло, спасибо
PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "PHP"
Aliance
IZ@TOP
skyboy
SamDark
MoLeX

Новичкам:

  • PHP редакторы собираются и обсуждаются здесь
  • Электронные книги по PHP, документацию можно найти здесь
  • Интерпретатор PHP, полную документацию можно скачать на PHP.NET

Важно:

  • Не брезгуйте пользоваться тегами [code=php]КОД[/code] для повышения читабельности текста/кода.
  • Перед созданием новой темы воспользуйтесь поиском и загляните в FAQ
  • Действия модераторов можно обсудить здесь

Внимание:

  • Темы "ищу скрипт", "подскажите скрипт" и т.п. будут переноситься в форум "Web-технологии"
  • Темы с именами: "Срочно", "помогите", "не знаю как делать" будут УДАЛЯТЬСЯ

Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, IZ@TOP, skyboy, SamDark, MoLeX, awers.

 
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | PHP: Общие вопросы | Следующая тема »


 




[ Время генерации скрипта: 0.1348 ]   [ Использовано запросов: 21 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.