2016-04-23 98 views
0

我有價格價值,其中前面有英鎊符號。我需要刪除該標誌。PHP刪除英鎊符號(£)從價格

$price = '£3.76' (This comes from database and is stored as a string within the database) 

1) preg_replace('/[\£]/', '', $price); 
2) ltrim($price, '£'); 
3) str_replace(utf8_decode("£"),"",utf8_decode($price)); 
4) str_replace('£', '', $price); 

我試圖使用一切,但沒有任何工作。 1和4用Â替代,2和3在值的左邊添加Â。有人可以幫幫我嗎。

+0

以上哪個命令會產生您所看到的輸出?請將包含價格值的完整字符串作爲示例發佈,以便我們有一個真實世界的示例來幫助您。 – nvisser

+0

我現在編輯了這個問題,請讓我知道現在是否更清楚。 – user4676307

+2

如果您在瀏覽器中看到'',這是因爲服務器發送的內容類型字符編碼不正確。你可以添加'header('Content-type:text/html; charset = utf-8');'給你的腳本正確地看到井號。但'$ price = str_replace('£','',$ price);'對我來說可以很好地移除它。 – drew010

回答

0

我有過類似的情況。請嘗試以下代碼:

$amount = "$500"; 

echo substr($amount,1,strlen($amount)); // returns "500" 
+0

由於井號不是ASCII碼,因此它使用2個字節,因此需要使用mb_substr。 – drew010

+0

@ drew010我現在用mb_substr替換第一個字符。但我仍然不認爲這是正確的解決方案,因爲鎊符號可能不在字符串中 – user4676307