Antichat снова доступен.
Форум Antichat (Античат) возвращается и снова открыт для пользователей.
Здесь обсуждаются безопасность, программирование, технологии и многое другое.
Сообщество снова собирается вместе.
Новый адрес: forum.antichat.xyz
 |
|

23.07.2009, 18:44
|
|
Постоянный
Регистрация: 17.09.2008
Сообщений: 562
Провел на форуме: 6962560
Репутация:
536
|
|
Сообщение от mailbrush
PS: А тебе обязательно с помощью регулярки делать? Ведь можно проще:
PHP код:
$number=50; //number
$range=range(0,63); //gen range
echo in_array($number,$range) ? 'yes' : 'no'; //checking
Если делать без регулярки, так можно обойтись обычным ИФом, зачем ещё массив создавать..?! 
|
|
|

23.07.2009, 19:46
|
|
Постоянный
Регистрация: 03.06.2009
Сообщений: 385
Провел на форуме: 3178262
Репутация:
389
|
|
если проверять одно число, то можно задать начало и конец строки или другие границы =)
PHP код:
<?php
$text = '85'; //11
$regex = '/^(6[0-3]|[0-5][0-9]|[0-9]){1}$/';
preg_match_all($regex, $text, $match);
print_r($match);
?>
если диапазон, то можно указать количество {n} в каждом условии
Последний раз редактировалось FireFenix; 23.07.2009 в 20:00..
|
|
|

23.07.2009, 19:57
|
|
Познавший АНТИЧАТ
Регистрация: 24.06.2008
Сообщений: 1,996
Провел на форуме: 6075534
Репутация:
2731
|
|
если проверять одно число, то можно задать начало и конец строки =)
Ну-ну... Ты сам то проверял работспособность этого скрипта?
|
|
|

23.07.2009, 20:04
|
|
Постоянный
Регистрация: 03.06.2009
Сообщений: 385
Провел на форуме: 3178262
Репутация:
389
|
|
Сообщение от mailbrush
Ну-ну... Ты сам то проверял работспособность этого скрипта?
Конечно нет!
PHP код:
<?php
for ($i = -5; $i < 70; $i++)
{
$text = '11'; //11
$regex = '/^(6[0-3]|[0-5][0-9]|[0-9]){1}$/';
preg_match_all($regex, $i, $match);
echo ($i . ' = ' . $match[1][0] . '<br>');
}
?>
Результат
Код:
-5 =
-4 =
-3 =
-2 =
-1 =
0 = 0
1 = 1
2 = 2
3 = 3
4 = 4
5 = 5
6 = 6
7 = 7
8 = 8
9 = 9
10 = 10
11 = 11
12 = 12
13 = 13
14 = 14
//вырезано
59 = 59
60 = 60
61 = 61
62 = 62
63 = 63
64 =
65 =
66 =
67 =
68 =
69 =
|
|
|

23.07.2009, 20:09
|
|
Познавший АНТИЧАТ
Регистрация: 24.06.2008
Сообщений: 1,996
Провел на форуме: 6075534
Репутация:
2731
|
|
Это вообще другой скрипт, еще и с циклом, омг...
Кстати, зачем юзать {1}?
|
|
|

23.07.2009, 20:57
|
|
Познавший АНТИЧАТ
Регистрация: 15.01.2008
Сообщений: 1,166
Провел на форуме: 2459557
Репутация:
606
|
|
FireFenix, да и границы тут не подходят.
Для чего мне это нужно? Для проверки айпишников на условия.
скажем я объявляю массив
$array= (
"23.170.22\d",
"145.98.21[0-9]"
)
потом в цикле проверяю соотвествия.
foreach($array as $ip){
if(preg_match('|'. $ip . '|', $_SERVER['REMOTE_ADD'])){
$ban = true;
}
Но допустим есть айпишник с диапозоном
123.45.56.[0-63] вот под него надо было мне шаблон написать.
Пока я просто сделал массив
123.45.56.[0-9]
123.45.56.1[0-9]
123.45.56.2[0-9]
123.45.56.3[0-9]
и тд....
других идей нет пока..
|
|
|

23.07.2009, 22:00
|
|
Reservists Of Antichat - Level 6
Регистрация: 25.04.2008
Сообщений: 827
Провел на форуме: 2769640
Репутация:
1304
|
|
попугай
PHP код:
for ($i=0;$i<255;$i++)
{
echo '123.45.56.'.$i.' = ';
if (preg_match( '#123.45.56.(6[0-3]|[0-5][0-9](?!\d)|[1-9](?!\d))#', '123.45.56.'.$i)) echo "OK\n";
else echo "FAIL\n";
}
|
|
|

23.07.2009, 23:03
|
|
Познавший АНТИЧАТ
Регистрация: 15.01.2008
Сообщений: 1,166
Провел на форуме: 2459557
Репутация:
606
|
|
Агаа .. спасибо)
А что означает
?
|
|
|

23.07.2009, 23:15
|
|
Reservists Of Antichat - Level 6
Регистрация: 25.04.2008
Сообщений: 827
Провел на форуме: 2769640
Репутация:
1304
|
|
попугай "Не цифра", так же можно использовать любой текст, которого НЕ должно быть на этом месте
|
|
|

23.07.2009, 23:17
|
|
Познавший АНТИЧАТ
Регистрация: 15.01.2008
Сообщений: 1,166
Провел на форуме: 2459557
Репутация:
606
|
|
Ну "!" отрицание, я знаю.. а вопросительный знак перед восклицательным что означает?
|
|
|
|
 |
|
|
Здесь присутствуют: 1 (пользователей: 0 , гостей: 1)
|
|
|
|