2012-01-23 26 views
8

Aşağıdaki dizgeye sahibim ve köşeli ayraçları kaldırmak için str_replace veya preg_replace kullanmak istiyorum ancak nasıl emin olacağım. Str_replace kullanarak açılı ayraçları kaldırabildim ancak kapatma braketlerini kaldıramam.Parantez içindeki dizelerden parantez nasıl kaldırılır?

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

denedim:

Bu

acı olduğunu ben de kaldırmak için preg_replace ihtiyaç izlenimi altında şimdi açılış parantez kaldırıldı ama ben
<?php echo str_replace('(','',$coords); ?> 

.

Bu konudan nasıl bahseder?

Yardım ile deneyin

cevap

37

takdir:

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

Sadece bir not. Örneğin, $ coords = "(test (it))" sonucu "test etmek (test etmek)" yerine "test etmek"; Daha güvenli bir yol muhtemelen Sarfraz'ın önerdiği gibi trim() kullanmak olacaktır. Str_replace, bu örnek için yalnızca çoklu parantez olmadığından çalışır. – Kelt

0

sandığından daha kolaydır, str_replace ilk parametre olarak bir dizi olabilir

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

ya da sadece iki kez str_replace yok ....

braketleri hep beginging ve ucunda geliyorsa
28

, kolayca trim kullanabilirsiniz:

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

Sonuç:

51.50972493425563, -0.1323877295303646 
+1

Daha hızlı idi))) –

+0

Bu sadece kaldırılır) parantez. – Zaheerabbas

0

i başka olsun bir dize olarak burada Coords yazmaya gerek sözdizimi hatası ;). Her neyse, bu düşündüğüm çözüm. Bu istenmeyen sonuçlara yol olabileceğini

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

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

Greets, Stefan

İlgili konular