Заменить строку на php - PullRequest
0 голосов
/ 04 октября 2010

Я использую функцию, которая конвертирует INR в доллары США.Я использую эту функцию:

    function convertCurrency($from_Currency,$to_Currency,$amount) {
        $amount = urlencode($amount);
        $from_Currency = urlencode($from_Currency);
        $to_Currency = urlencode($to_Currency);
        $url = "http://www.google.com/ig/calculator?hl=en&q=".$amount.$from_Currency."=?".$to_Currency;
        $ch = curl_init();
        $timeout = 0;
        curl_setopt ($ch, CURLOPT_URL, $url);
        curl_setopt ($ch, CURLOPT_RETURNTRANSFER, 1);
        curl_setopt($ch,  CURLOPT_USERAGENT , "Mozilla/4.0 (compatible; MSIE 8.0; Windows NT 6.1)");
        curl_setopt ($ch, CURLOPT_CONNECTTIMEOUT, $timeout);
        $rawdata = curl_exec($ch);
        curl_close($ch);
        $data = explode('"', $rawdata);
        $data = explode(' ', $data['3']);
        $var = $data[0];
        if($to_Currency == 'USD')
            return round($var, 2);
        else
            return round($var, 0);
    }

Когда я передаю 10 INR, она работает нормально.Но когда я передаю 500000 INR, результат будет 11 312. Вы можете увидеть пробел после второй цифры.

Я просто хочу это убрать.Какую модификацию мне нужно сделать в функции.

Заранее спасибо

Ответы [ 3 ]

0 голосов
/ 04 октября 2010

Вы можете использовать str_replce для удаления всех пробелов из окончательной строки как:

$str = str_replace(' ','',$str);

В качестве альтернативы, единственным разрешенным символом в конечном результате являются цифры и точка (.).

Вы можете удалить остаток символа как:

$str = preg_replace('/[^\d.]/','',$str);
0 голосов
/ 04 октября 2010

strtr () быстрее для удаления одного символа (он оптимизирован для этого) , поэтому вы можете сделать

strtr($str, " ", "");
0 голосов
/ 04 октября 2010

Для этого можно использовать регулярное выражение, удалив все, что не является числом:

$amount = preg_replace("[^0-9.]", "", $amount);
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...