如何在php中去除字符串中的括号?

17

我有一个字符串,想要使用str_replace或preg_replace删除括号,但不确定如何操作。我已经成功用str_replace删除了开头的括号,但无法删除结尾的括号。

以下是该字符串:

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

我已经尝试过:

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

我曾经使用了一种方法去除了开头的括号,但现在我认为我需要使用preg_replace来同时删除两个括号。

如何进行操作呢?

感谢您的帮助。

5个回答

69

尝试使用以下代码:

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

5
只是提醒一下,这可能会产生意想不到的后果。例如,当$coords =“(testing(it)out)”时,结果是“testing it out”,而不是“testing(it)out”;更安全的方法可能是使用Sarfraz建议的trim()。 str_replace仅适用于此示例,因为没有多个括号。 - Kelt

51

如果括号总是出现在开头和结尾,您可以轻松使用trim函数:

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

结果:

51.50972493425563, -0.1323877295303646

2
这是仅删除圆括号。 - Zaheerabbas

2
echo str_replace(
     array('(',')'), array('',''), 
     $coords);

或者只需使用两次str_replace函数……
echo str_replace(')', '', str_replace('(','',$coords));

1

我认为你需要将你的坐标写成字符串,否则会出现语法错误;)无论如何,这是我认为的解决方案。

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

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

你好, Stefan


0

比你想象的更容易,str_replace函数的第一个参数可以是一个数组

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

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接