2012-01-23 227 views
8

Tengo la siguiente cadena y me gustaría utilizar str_replace o preg_replace para eliminar los corchetes, pero no estoy seguro de cómo. He podido eliminar los corchetes de apertura usando str_replace pero no puedo eliminar los corchetes de cierre.¿Cómo eliminar los corchetes de la cadena en php?

Este es el aguijón:

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

que he intentado:

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

que eliminó los corchetes de apertura, pero ahora estoy bajo la impresión de que necesito preg_replace para eliminar ambos.

¿Cómo se puede hacer esto?

Ayuda apreciado

Respuesta

37

Pruebe con:

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

Sólo una nota que esto podría tener consecuencias no deseadas. Por ejemplo, cuando $ coords = "(prueba (it) out)" el ​​resultado es "probarlo" en lugar de "probarlo"; Una forma más segura sería usar trim() como sugiere Sarfraz. El str_replace funciona solo para este ejemplo porque no hay múltiples paréntesis. – Kelt

0

es más fácil de lo que piensa, str_replace puede tener una matriz como primer parámetro

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

o simplemente str_replace dos veces ....

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

Si corchetes vienen en beginging y al final, puede utilizar trim fácilmente:

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

Resultado:

51.50972493425563, -0.1323877295303646 
+1

Fuiste más rápido))) –

+0

Esto es solo eliminar) corchetes. – Zaheerabbas

0

Creo que se necesita para escribir sus coordenadas aquí como una cadena más consigues error de sintaxis ;). De todos modos, esta es la solución, creo.

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

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

saluda, Stefan

Cuestiones relacionadas