2012-01-23 10 views
8

Ho la seguente stringa e vorrei usare str_replace o preg_replace per rimuovere le parentesi ma non so come. Sono stato in grado di rimuovere le parentesi di apertura usando str_replace ma non posso rimuovere le parentesi di chiusura.Come rimuovere parentesi dalla stringa in php?

Questa è la puntura:

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

ho provato:

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

che ha rimosso le parentesi di apertura, ma ora sono sotto l'impressione che ho bisogno preg_replace per rimuovere entrambi.

Come si fa a fare questo?

Aiuto apprezzato

risposta

37

Prova con:

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

Solo una nota che questo potrebbe avere conseguenze impreviste. Ad esempio, quando $ coords = "(testing (it) out)" il risultato è "testing it out" invece di "testing (it) out"; Un modo più sicuro sarebbe probabilmente usare trim() come suggerito da Sarfraz. Str_replace funziona per questo esempio solo perché non ci sono più parentesi. – Kelt

0

è più facile di quanto si pensi, str_replace può avere un array come primo parametro

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

o semplicemente str_replace due volte ....

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

Se parentesi vengono sempre su beginging e alla fine, è possibile utilizzare trim facilmente:

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

Risultato:

51.50972493425563, -0.1323877295303646 
+1

Eri più veloce))) –

+0

Questo è solo rimuovi) parentesi. – Zaheerabbas

0

Penso che è necessario scrivere i tuoi coordinate qui come una stringa altrimenti si ottiene Errore di sintassi ;). Ad ogni modo, questa è la soluzione che penso.

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

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

saluta, Stefan