У меня небольшая проблема.Я пытаюсь преобразовать строку типа «1 234» в число: 1234 Я не могу туда добраться.Строка очищена от веб-сайта.Можно ли там не быть пробелом?Потому что я пробовал такие методы, как str_replace и preg_split для пробела и ничего.Также (int) $ abc принимает только первую цифру (1).Если бы у кого-нибудь была идея, я был бы очень рад!Спасибо!
Вот как бы я справился с этим ...
<?php $string = "Here! is some text, and numbers 12 345, and symbols !£$%^&"; $new_string = preg_replace("/[^0-9]/", "", $string); echo $new_string // Returns 12345 ?>
intval(preg_replace('/[^0-9]/', '', $input))
Очистка веб-сайтов всегда требует определенного кода, вы знаете, как вы получаете ввод - и вы пишете код, необходимый для его использования.
Вот почему первый ответ по-прежнему str_replace.
$iInt = (int)str_replace(array(" ", ".", ","), "", $iInt);
$str = "1 234"; $int = intval(str_replace(' ', '', $str)); //1234