Как преобразовать строку с числами и пробелами в int - PullRequest
3 голосов
/ 10 июня 2011

У меня небольшая проблема.Я пытаюсь преобразовать строку типа «1 234» в число: 1234 Я не могу туда добраться.Строка очищена от веб-сайта.Можно ли там не быть пробелом?Потому что я пробовал такие методы, как str_replace и preg_split для пробела и ничего.Также (int) $ abc принимает только первую цифру (1).Если бы у кого-нибудь была идея, я был бы очень рад!Спасибо!

Ответы [ 4 ]

11 голосов
/ 10 июня 2011

Вот как бы я справился с этим ...

<?php

$string = "Here! is some text, and numbers 12 345, and symbols !£$%^&";

$new_string = preg_replace("/[^0-9]/", "", $string);

echo $new_string // Returns 12345

?>
8 голосов
/ 10 июня 2011
intval(preg_replace('/[^0-9]/', '', $input))
4 голосов
/ 10 июня 2011

Очистка веб-сайтов всегда требует определенного кода, вы знаете, как вы получаете ввод - и вы пишете код, необходимый для его использования.

Вот почему первый ответ по-прежнему str_replace.

$iInt = (int)str_replace(array(" ", ".", ","), "", $iInt);
1 голос
/ 10 июня 2011
$str = "1 234";
$int = intval(str_replace(' ', '', $str)); //1234
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...