Вам нужно вывести все целые числа из строки, а затем найти самое большое ...
$str = "danger13 afno 1 900004";
preg_match_all('/\d+/', $str, $matches); // get all the number-only patterns
$numbers = $matches[0];
$numbers = array_map('intval', $numbers); // convert them to integers from string
$max = max($numbers); // get the largest
$max
теперь 900004
.
Обратите внимание, чтоэто очень просто.Если в вашей строке есть что-то, совпадающее с шаблоном \d+
(1 или более цифр), которое вы не хотите использовать в качестве отдельного целого числа (например, 43.535
вернет 535
), это не будет удовлетворительным для вас,Вам нужно более точно определить, что вы имеете в виду.