2012-01-31 142 views
2

所以,我試過使用trim和str_replace,而我只是無法弄清楚。我GOOGLE了它,似乎沒有任何工作。如何擺脫字符串中的空白,php

這裏是我的代碼:

function convertcurrency($euro){ 
if (is_numeric($euro)) { 
    $currency = file_get_contents("http://www.google.com/ig/calculator?hl=en&q=".$euro."EUR%3D%3FUSD"); 
    $contents = array_map('trim', explode(" ", $currency)); 
    $getint = array_map('trim', explode("\"", $contents[3])); 
    unset($getint[0]); 
    $usdollar = implode(" ", $getint); 
    echo "$euro Euro's is equal to $usdollar U.S. Dollars"; 
} 
else{ 
    echo "$euro is not a number, please enter a number."; 
} 
} 

convertcurrency(123123); 

?> 

謝謝!

編輯:

我道歉,我應該已經張貼了我的輸出和預期輸出。

輸出:123123歐元等於162 362.3美元 預期輸出:123123歐元等於162362.3美元

一旦我擺脫了空白的,我可以用money_format功能才能正常顯示。

+0

你在哪裏觀察這個空白?在最終的HTML頁面中? – 2012-01-31 07:49:42

+0

你能發表當前的產出和預期的產出嗎? 「似乎沒有任何工作」並不是真正的具體問題清單:)。你想要什麼,最好是爲什麼你想要它?現在會發生什麼?等等。 – Nanne 2012-01-31 07:51:44

+0

對不起,我已經添加了輸出和預期的輸出,謝謝指出! – stytown 2012-01-31 08:16:48

回答

1

您將需要使用正則表達式來替換所有文本。

$string = preg_replace('/[\s]*/', '', $needle); 

這應該適合你。

+0

讓我試試看,謝謝! – stytown 2012-01-31 08:18:09

+0

不用擔心。如果您瞭解如何使用它們,則正則表達式非常強大。 – Shane 2012-01-31 08:22:49

1

只是執行一個json_decode而不是分解數據會更容易,特別是當你有空格時,這在所有情況下都不起作用。使用json_decode代替爆炸。

+0

結果不是有效的json字符串。 – ariefbayu 2012-01-31 08:06:49

+0

我不知道這件事,我對編碼很陌生,但我被告知我不能使用json。我會盡力。謝謝。 – stytown 2012-01-31 08:17:31

+0

你可以在這裏閱讀更多關於json以及如何使用它。還包含一些示例。一探究竟。 http://www.php.net/manual/en/function.json-decode.php – alexandrudicu 2012-01-31 10:25:35

1

這是谷歌貨幣轉換器的問題。與此代碼嘗試更換貨幣之間的空白:

$currency = preg_replace('/[^a-z0-9.]/', '', $currency); 

希望這有助於你:)

+0

非常感謝。嘗試al取代我通過谷歌本身找到,只有你的工作! – 2013-05-21 18:20:31

+0

@RensTillmann酷。高興地幫助你:) – Sabari 2013-05-22 04:59:12