2012-01-23 19 views
8

Mam następujący ciąg i chciałbym użyć str_replace lub preg_replace, aby usunąć nawiasy, ale nie jestem pewien, jak. Mogłem usunąć nawiasy otwierające za pomocą str_replace, ale nie mogę usunąć nawiasów zamykających.Jak usunąć nawiasy ze stringów w php?

To Sting:

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

Próbowałem:

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

którego usunięto uchwyty do otwierania, ale teraz jestem pod wrażeniem, że muszę preg_replace usunąć oba.

Jak to się dzieje?

Pomoc docenione

Odpowiedz

37

Spróbuj z:

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

Tylko uwaga, że ​​to może mieć niezamierzone konsekwencje. Na przykład, gdy $ coords = "(testing (it) out)" wynikiem jest "testing it out" zamiast "testing (it) out"; Bezpieczniejszym sposobem byłoby prawdopodobnie użycie funkcji trim() zgodnie z sugestią Sarfraza. Str_replace działa tylko dla tego przykładu, ponieważ nie ma wielu nawiasów. – Kelt

0

jest to łatwiejsze niż myślisz, str_replace może mieć tablicę jako pierwszy parametr

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

lub po prostu zrobić str_replace dwukrotnie ....

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

Jeśli wsporniki zawsze przyjść na beginging i na końcu, można użyć trim łatwo:

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

Wynik:

51.50972493425563, -0.1323877295303646 
+1

Ty byłeś szybszy))) –

+0

To jest tylko usuń) nawiasy. – Zaheerabbas

0

myślę trzeba pisać coords tutaj jako ciąg innego dostać błąd składni ;). W każdym razie to jest rozwiązanie, które myślę.

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

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

Greets, Stefan