从字符串中移除花括号

3

我有一个字符串:

 $string={"name":"simon","age":"23"}

我想从字符串中去掉花括号。输出应该是这样的:
$string="name":"simon","age":"24"
4个回答

9
那是JSON格式,我建议使用 json_decode 将其转换为数组:
$myArray = json_decode($string, true);
print_r($myArray);

如果您仍然需要这个,您可以执行以下操作:
$string = '{"name":"simon","age":"23"}';
echo trim($string, '{}'); // "name":"simon","age":"23"

是的,那是JSON。但我不想使用json_decode。想要进行字符串操作。有什么建议吗? - sohel14_cse_ju
@Toby,你需要使用 @ 符号来提及收件人。 - Your Common Sense
@YourCommonSense 我可以使用json_decode..只是我正在尝试以不同的方式使用它,没有别的。json_decode很棒.. - sohel14_cse_ju
需要注意的一点是 echo trim($string, '{}'); 会删除所有尾随的 }。因此,如果您在 JSON 中有关联数组或类似数组的对象,则会删除太多尾随括号。 - prograhammer

7
假设大括号是您字符串的第一个和最后一个字符,您可以尝试以下方法:
$string = substr($string, 1, -1);

小心你的常识哥们 :) 他在这里经常点踩,因此已经招来了很多敌人 :P - Sarfraz

5
preg_replace('/[{}]/', '', $string);

0
假设您只想在花括号是第一个和最后一个字符时删除它们(并且您不想删除这些字符,除非它们是花括号),那么您可以使用以下代码:
preg_replace('/^{(.*)}$/', '$1', $string);

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