2013-05-03 125 views
0

我试图从右侧替换JSON字符串{的第一次出现的右侧和左侧第一次出现,和左侧}替换从字符串

$json_data = preg_replace('/\{/' , '', $json_data ,1); 
$json_data = rtrim($json_data ,'}'); // here is issue 

但字符串这样{"chart":"c12","series":{"name":"Test","data":[]}}更换成

"chart":"c12","series":{"name":"Test","data":[] 

替换成 '}}' 的RTRIM。如何从字符串的右侧替换}的第一次出现?

+4

是否有任何理由不对你的字符串使用'json_decode()'? – Twisted1919 2013-05-03 10:37:35

+2

'substr($ string,1,-1);'? – 2013-05-03 10:39:00

+0

@ Twisted1919我必须添加一个函数,'$ json_data。=',onClick:function(){/*..here some code .. * /}'; $ json_data ='{'。 $ json_data。'}';' – rab 2013-05-03 10:40:40

回答

1
$json_data = preg_replace('/^\s*\{\s*(.+)\s*\}\s*$/', '$1', $json_data); 

但是,很难想象有必要的情况。

+0

感谢您的回答。我怎么能让js对象像''''chart“:”c12“,”series“:{”name“:”Test“,”data“:[]},onClick:function(){alert(”hi“ )}}'从服务器端? 。 json分配给javascript变量在'