2012-01-23 285 views
8

我有以下字符串,並希望使用str_replace或preg_replace刪除括號,但我不確定如何。我已經能夠使用str_replace刪除開頭的括號,但不能刪除右括號。如何從PHP中的字符串中刪除括號?

這是刺痛:

$coords = '(51.50972493425563, -0.1323877295303646)'; 

我曾嘗試:

<?php echo str_replace('(','',$coords); ?> 

可以除去開幕括號,但我現在的感覺,我需要的preg_replace同時刪除之下。

這是怎麼回事?

幫助表示讚賞

回答

37

嘗試用:

str_replace(array('(', ')'), '', $coords); 
+3

只是注意,這可能會產生意想不到的後果。例如,當$ coords =「(testing(it)out)」結果是「測試它」而不是「測試(它)」。一種更安全的方式可能是使用如Sarfraz所建議的trim()。 str_replace僅適用於此示例,因爲不存在多個括號。 – Kelt

0

它比你想象的更容易,str_replace函數可以有一個數組作爲第一個參數

<?php echo str_replace(array('(',')'),'',$coords); ?> 
0
echo str_replace(
    array('(',')'), array('',''), 
    $coords); 

或只是str_replace函數兩次...

echo str_replace(')', '', str_replace('(','',$coords)); 
28

如果括號總是在beginging和結束時,你可以很容易地使用trim

$coords = trim($coords, '()'); 

結果:

51.50972493425563, -0.1323877295303646 
+1

你是更快))) –

+0

這只是刪除)括號。 – Zaheerabbas

0

我認爲你需要在這裏寫你COORDS爲一個字符串否則你得到語法錯誤;)。無論如何,這是我認爲的解決方案。

$coords = "(51.50972493425563, -0.1323877295303646)"; 

$aReplace = array('(', ')'); 
$coordsReplaced = str_replace($aReplace , '', $coords); 

映入眼簾, 斯特凡

相關問題