какой функцией можно найти число в строке задействовав при этом минимум кода? пример строки "ИФНС №28 по г. Москве" просто нужно выцепить число.
А почему бы самостоятельно не поправить код? PHP: <? if(preg_match('/([0-9]+)/s', $string, $number)) { echo 'Found: '.$number[1]; } ?>
PHP: <? if(preg_match('/([987654321]+)/s', $string, $number)) { echo 'Found: '.$number[1]; } if(preg_match('/([[:digit:]]+)/s', $string, $number)) { echo 'Found: '.$number[1]; } if(preg_match('/(\d+)/s', $string, $number)) { echo 'Found: '.$number[1]; } if(preg_match('/([0-9]+)/s', $string, $number)) { echo 'Found: '.$number[1]; } ?> Собственно вариантов много, какая разница-то? Вы попросили подсказать, я подсказал так, как бы написал я.
спасибо вам, разницы никакой, но почему-то заработал лишь второй вариант PHP: <? if(preg_match('/(\d+)/s', $string, $number)) { echo 'Found: '.$number[1]; . }?>
PHP: # <? # # if(preg_match('/([987654321]+)/s', $string, $number)) { # echo 'Found: '.$number[1]; # } # # if(preg_match('/([[:digit:]]+)/s', $string, $number)) { # echo 'Found: '.$number[1]; # } # # if(preg_match('/(\d+)/s', $string, $number)) { # echo 'Found: '.$number[1]; # } # # if(preg_match('/([0-9]+)/s', $string, $number)) { # echo 'Found: '.$number[1]; # } # # ?> а зачем так можно проще PHP: <?php if(preg_match('\/(\s+))\/s', $founded)) { echo "$founded"; $zenumber = '1'; .$number[$zenubmer]; ?>
alex-coder-coging-php Бугага, даже не знаю, смеяться или плакать. Если честно, хочется плакать. Во-первых, эти что за танцы с бубном вокруг неправильной регулярки, обрамления переменной ненужными кавычками, объявленный индекс? И что это, в конце концов, за неправильное слово founded? Мальчик, ты умственно отсталый в самом прямом смысле этого слова? Али ты ещё ребенок лет 12? Ну честное слово, развитие 12 летнего ребенка у человека, даже младше ...
правельный вариант PHP: <? for($i=0,$c=strlen($str);$i<$c;$i++){ if(is_numeric($str[$i])) print $str[$i]; } ?>
Mr.M.I.T. Если в строке два числа, то они склеиваются. Например из строки "С 1987 года я 5 раз выезжал за границу." получим "19875". Кстати, все эти методы работают только с целыми неотрицательными числами.