Вот несколько методов, которые вы можете использовать в PHP для удаления всего, кроме числа, из текстовой строки:
Метод 1: регулярные выражения (preg_replace)
$text = "abc123def456";
$number = preg_replace("/[^0-9]/", "", $text);
echo $number; // Output: 123456
Метод 2: str_replace
$text = "abc123def456";
$number = str_replace(range('a', 'z'), '', $text);
echo $number; // Output: 123456
Метод 3. Фильтрация и объединение
$text = "abc123def456";
$filtered = array_filter(str_split($text), 'is_numeric');
$number = implode('', $filtered);
echo $number; // Output: 123456
Метод 4: ctype_digit и str_split
$text = "abc123def456";
$filtered = array_filter(str_split($text), 'ctype_digit');
$number = implode('', $filtered);
echo $number; // Output: 123456
Метод 5: регулярные выражения (preg_match_all)
$text = "abc123def456";
preg_match_all('!\d+!', $text, $matches);
$number = implode('', $matches[0]);
echo $number; // Output: 123456
Метод 6: цикл и is_numeric
$text = "abc123def456";
$number = '';
for ($i = 0; $i < strlen($text); $i++) {
if (is_numeric($text[$i])) {
$number .= $text[$i];
}
}
echo $number; // Output: 123456
Метод 7: регулярные выражения (preg_replace_callback)
$text = "abc123def456";
$number = preg_replace_callback('/\D/', function($match) {
return '';
}, $text);
echo $number; // Output: 123456