EOMY.NET
на главную
EOMY.NET
Хостинг EOMY.NET: Форум поддержки
 
 FAQFAQ   ПоискПоиск   ПользователиПользователи   ГруппыГруппы   <b>Лотерея</b>Лотерея   РегистрацияРегистрация 
 ПрофильПрофиль   Войти и проверить личные сообщенияВойти и проверить личные сообщения   ВходВход 

RSS Feed

Вопрос по php/MySQL
На страницу Пред.  1, 2, 3, 4, 5, 6, 7, 8  След.
 
Начать новую тему   Эта тема закрыта, вы не можете писать ответы и редактировать сообщения.    Список форумов EOMY.NET -> Программирование для WEB
Вопрос по php/MySQL
Автор Сообщение
lazutov
$a ||= 5;
$a ||= 5;


Зарегистрирован: 30.04.2007
Сообщения: 2096

12423 Монеты

СообщениеДобавлено: Сб, 15 Дек, 2007 17:18    Заголовок сообщения: Ответить с цитатой

а @ с # мне тоже не нужны.
Этот вариант я сначала использовал.
_________________
lazutov.ru - блог, Lwhois - Удобный whois для windows | NameIntelligence -все будет... Зимой... |whois-сервис с дополнительными возможностями
Регистрация доменов RU(3 регистратора, прямые договора)-150р и дешевле Smile - в ЛС
Вернуться к началу
Посмотреть профиль Отправить личное сообщение
[LP]LordPro.teus
$a ||= 5;
$a ||= 5;


Зарегистрирован: 26.07.2007
Сообщения: 3178

31651 Монеты

СообщениеДобавлено: Сб, 15 Дек, 2007 17:20    Заголовок сообщения: Ответить с цитатой

lazutov
тогда проверьте их отдельным условием
_________________
Вернуться к началу
Посмотреть профиль Отправить личное сообщение Посетить сайт автора
girafenok
Хостинг — это наше всё!
Хостинг — это наше всё!


Зарегистрирован: 17.11.2007
Сообщения: 129

10975 Монеты

СообщениеДобавлено: Сб, 15 Дек, 2007 19:04    Заголовок сообщения: Ответить с цитатой

Проверка наличия русских букв в величине $string:
Код:
if preg_match("/[А-Яа-я]/",$string)!=0
{
echo "Есть русские буквы";
}

По поводу локали не сообразить Sad . Возможно надо использовать функцию setlocale().

Проверка наличия символов с кодами 224 (E0h)- 255 (FFh) в величине $string:
Код:
if preg_match("/[\xE0-\xFF]/",$string)!=0
{
echo "Есть символы с кодами 224-255";
}


C уважением
Вернуться к началу
Посмотреть профиль Отправить личное сообщение Посетить сайт автора
[LP]LordPro.teus
$a ||= 5;
$a ||= 5;


Зарегистрирован: 26.07.2007
Сообщения: 3178

31651 Монеты

СообщениеДобавлено: Сб, 15 Дек, 2007 19:11    Заголовок сообщения: Ответить с цитатой

Код:
if preg_match("/[А-Яа-я#@]/",$string)!=0
{
echo "Есть символы, не полюбившиеся lazutov'у";
}

Итог)
_________________
Вернуться к началу
Посмотреть профиль Отправить личное сообщение Посетить сайт автора
lazutov
$a ||= 5;
$a ||= 5;


Зарегистрирован: 30.04.2007
Сообщения: 2096

12423 Монеты

СообщениеДобавлено: Сб, 15 Дек, 2007 19:23    Заголовок сообщения: Ответить с цитатой

всем спасибо.
теперь такой вопрос:
Код:

<?
function ru($s){
$ret='';
for ($i=1; $i<=strlen($s);$i++){
$d=0;
$t=substr($s,$i,1);
$num=ord(substr($s,$i,1));
if ((($num>=65)And($num<=90))OR(($num>=97)And($num<=122))){$ret.='l'; $d=1;}
if ($t=='@'){$ret.='@'; $d=1;}
if ($t==' '){$ret.='s'; $d=1;}
if ($d==0) {$ret.='i';}
}
$return='';
if (strstr($ret,'l')>0){$return.='l';}
if (strstr($ret,'@')>0){$return.='a';}
if (strstr($ret,'s')>0){$return.='s';}
if (strstr($ret,'i')>0){$return.='i';}
return $return;
}//end function RU
$user='@wwwцццц';
if (ru($user)!='l'){$error.='<br>wrongUserChars';}

Документация:
функия Ru возвращает от одного до 3 смволова в виде string
'l' возвращается если там есть любые латинские,
'a' если там есть @
's' если есть пробел
'i' если другие символы кроме перечисленных.

вопрос такой: как правильно объявить и вызвать функцию, чтобы оно работало.
Заранее спасибо.
_________________
lazutov.ru - блог, Lwhois - Удобный whois для windows | NameIntelligence -все будет... Зимой... |whois-сервис с дополнительными возможностями
Регистрация доменов RU(3 регистратора, прямые договора)-150р и дешевле Smile - в ЛС
Вернуться к началу
Посмотреть профиль Отправить личное сообщение
girafenok
Хостинг — это наше всё!
Хостинг — это наше всё!


Зарегистрирован: 17.11.2007
Сообщения: 129

10975 Монеты

СообщениеДобавлено: Сб, 15 Дек, 2007 22:24    Заголовок сообщения: Ответить с цитатой

(В предыдущем моем посте есть ошибка в if. Условия надо писать в скобках.)
lazutov
Не совсем понял, что Вы хотите сделать. Вы уже и так объявили функцию и выполнили ее.
Вернуться к началу
Посмотреть профиль Отправить личное сообщение Посетить сайт автора
[LP]LordPro.teus
$a ||= 5;
$a ||= 5;


Зарегистрирован: 26.07.2007
Сообщения: 3178

31651 Монеты

СообщениеДобавлено: Сб, 15 Дек, 2007 22:27    Заголовок сообщения: Ответить с цитатой

girafenok
она не работает... в чисто английском слове выдало "латиница+прочие_символы"...
_________________
Вернуться к началу
Посмотреть профиль Отправить личное сообщение Посетить сайт автора
Alek$
$a ||= 5;
$a ||= 5;


Зарегистрирован: 24.11.2007
Сообщения: 820

19477 Монеты

СообщениеДобавлено: Вс, 16 Дек, 2007 05:55    Заголовок сообщения: Ответить с цитатой

lazutov
регулярки - рулят Smile
Вот примерный код:
Код:

function ru($s)
{
 $ret = "";
 if(preg_match("/[A-Za-z]/",$s)!=0)
  $ret .= "l";
 if(strstr($s,"@"))
  $ret .= "a";
 if(preg_match("/\s/",$s)!=0)
  $ret .= "s";
 if(preg_match("/[^A-Za-z\s@]/",$s)!=0)
  $ret .= "i";
 return $ret;
}

Это должно работать несколько быстрее, да и код изящнее, ИМХО Smile

ЗЫ. Писал на коленке и не проверял, но вроде бы должно работать. Если что, думаю, меня поправят Smile
_________________
Самая страшная ошибка - это ошибка без видимых причин и конкретных последствий.
phpBB3 [db_update.php generator]
phpBB3 [Russian]
Антисоциальный блог
Вернуться к началу
Посмотреть профиль Отправить личное сообщение Посетить сайт автора
lazutov
$a ||= 5;
$a ||= 5;


Зарегистрирован: 30.04.2007
Сообщения: 2096

12423 Монеты

СообщениеДобавлено: Вс, 16 Дек, 2007 17:13    Заголовок сообщения: Ответить с цитатой

Alek$
а можно посмотреть инфу этому способу ( в части /[A-Za-z]/ /\s//[^A-Za-z\s@)
заранее спасибо!
_________________
lazutov.ru - блог, Lwhois - Удобный whois для windows | NameIntelligence -все будет... Зимой... |whois-сервис с дополнительными возможностями
Регистрация доменов RU(3 регистратора, прямые договора)-150р и дешевле Smile - в ЛС
Вернуться к началу
Посмотреть профиль Отправить личное сообщение
[LP]LordPro.teus
$a ||= 5;
$a ||= 5;


Зарегистрирован: 26.07.2007
Сообщения: 3178

31651 Монеты

СообщениеДобавлено: Вс, 16 Дек, 2007 17:20    Заголовок сообщения: Ответить с цитатой

lazutov
первое условие (первая пара скобок) - от a до z, независимо от регистра, во втором - НЕ собака, пробельный символ или то, что в первом (как способ выражения "все остальное"... Рекомендую прочитать, это стандарт PCRE, он не только в PHP применяется
_________________
Вернуться к началу
Посмотреть профиль Отправить личное сообщение Посетить сайт автора
girafenok
Хостинг — это наше всё!
Хостинг — это наше всё!


Зарегистрирован: 17.11.2007
Сообщения: 129

10975 Монеты

СообщениеДобавлено: Вс, 16 Дек, 2007 18:10    Заголовок сообщения: Ответить с цитатой

lazutov
Регулярные выражения на Perl и их применение:
http://www.intuit.ru/department/se/regperl/
Перл-совместимые регулярные выражения в php:
http://www.intuit.ru/department/pl/plphp/13/
http://www.php.net/manual/ru/ref.pcre.php

Думаю, что функцию ru можно свести к одному регулярному выражению, если только четко понять, что должно или не должно быть в строке.

С уважением.
Вернуться к началу
Посмотреть профиль Отправить личное сообщение Посетить сайт автора
lazutov
$a ||= 5;
$a ||= 5;


Зарегистрирован: 30.04.2007
Сообщения: 2096

12423 Монеты

СообщениеДобавлено: Вс, 16 Дек, 2007 19:00    Заголовок сообщения: Ответить с цитатой

поразбирался...
прикольная и удобная штука, но не понял одного, что вернет, если
preg_match("/[0-9A-Za-z]/",$s) при стринге GG95gg
проверить нет возможности Sad
_________________
lazutov.ru - блог, Lwhois - Удобный whois для windows | NameIntelligence -все будет... Зимой... |whois-сервис с дополнительными возможностями
Регистрация доменов RU(3 регистратора, прямые договора)-150р и дешевле Smile - в ЛС
Вернуться к началу
Посмотреть профиль Отправить личное сообщение
Thewirus
Интернет на завтрак
Интернет на завтрак


Зарегистрирован: 16.08.2007
Сообщения: 76

3919 Монеты

СообщениеДобавлено: Вс, 16 Дек, 2007 19:13    Заголовок сообщения: Ответить с цитатой

Уверен на 95% что вернет true...
Вернуться к началу
Посмотреть профиль Отправить личное сообщение
[LP]LordPro.teus
$a ||= 5;
$a ||= 5;


Зарегистрирован: 26.07.2007
Сообщения: 3178

31651 Монеты

СообщениеДобавлено: Вс, 16 Дек, 2007 19:17    Заголовок сообщения: Ответить с цитатой

lazutov
исключительно true, все символы подходят под указанное условие PCRE
_________________
Вернуться к началу
Посмотреть профиль Отправить личное сообщение Посетить сайт автора
girafenok
Хостинг — это наше всё!
Хостинг — это наше всё!


Зарегистрирован: 17.11.2007
Сообщения: 129

10975 Монеты

СообщениеДобавлено: Вс, 16 Дек, 2007 19:32    Заголовок сообщения: Ответить с цитатой

Вернет значение 1. Если бы ни один из перечисленных в шаблоне символов не нашелся бы в строке, то функция вернула бы значение 0.
Если необходимо посчитать количество вхождений указанных в шаблоне символов, то необходимо использовать функцию
preg_match_all

C уважением
Вернуться к началу
Посмотреть профиль Отправить личное сообщение Посетить сайт автора
Показать сообщения:   
Начать новую тему   Эта тема закрыта, вы не можете писать ответы и редактировать сообщения.    Список форумов EOMY.NET -> Программирование для WEB Часовой пояс: GMT
На страницу Пред.  1, 2, 3, 4, 5, 6, 7, 8  След.
Страница 2 из 8

 


EOMY TOP 100 Rambler's Top100   Рейтинг@Mail.ru    



Powered by phpBB © 2001, 2005 phpBB Group






Рейтинг SIMPLETOP.NET