PHP: <?php $text = 'text0123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263text'; $regex = '(6[0-3]|[0-5][0-9]|[0-9])'; preg_match_all($regex, $text, $match); print_r($match); ?>
Хмм.. вот к примеру я так делаю.. PHP: echo preg_match('/(6[0-3]|[0-5][0-9]|[0-9])/', '89') ? 'yes' : 'no'; выводит yes.
попугай, в твоем случае срабатывает второе условие... /(6[0-3]|[0-5][0-9]|[0-9])/ Но причем здесь ряд чисел?
Хм.. а почему он срабатывает то? Этим условием задаются числа от 00 до 59 ведь. Ряд чисел... ну то есть мне нужна регулярка, чтоб на входе ей давалось число, и затем провералось - входит ли оно в диапозон от 0 до 63 или нет.
Сорри, не оно срабатывает... срабатывает последнее, т.к. прег_матч ищет первое совпадение. В последнем - [0-9], т.е. цифра от 0 до 9. В строке 89 есть эта цифра, поэтому регулярка срабатывает. PS: А тебе обязательно с помощью регулярки делать? Ведь можно проще: PHP: $number=50; //number $range=range(0,63); //gen range echo in_array($number,$range) ? 'yes' : 'no'; //checking
если проверять одно число, то можно задать начало и конец строки или другие границы =) 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} в каждом условии
Конечно нет! 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>'); } ?> Результат Code: -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 =
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] и тд.... других идей нет пока..
попугай 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"; }
PHP: <?php $ips = Array('192.168.1.136', '10.10.10.10', '173.10.1.200', '10.0.0.21'); $min = 100; $max = 140; $octet = 3; for ($i = 0; $i < count($ips); $i++) { $ip = explode('.', $ips[$i]); $result = ''; if ($ip[$octet] > $max) { $result = $ips[$i] . ' - больше ' . $max; } elseif ($ip[$octet] < $min) { $result = $ips[$i] . ' - меньше ' . $min; } else { $result = $ips[$i] . ' - нормальный'; } echo ($result . '<br>'); } ?>
нашел на сайте шелл но из директа он не запускается а просто передает содержимое браузеру.... создал на фрихосте сайт залил туда index.php а внем <img src="http://4room.surgut.info/images/graemlins/vet.php"> и ничего не получилось ): как запустить шелл?