使用爆炸获得价值

时间:2012-03-11 22:28:09

标签: php

我正在尝试解析以下字符串......

IN.Tags.Share({"count":180,"url":"http://domain.org"}

我的以下方法是否正确获取计数值?

$str = 'IN.Tags.Share({"count":180,"url":"http://domain.org"}';
$data = explode(':', $str);
$val = explode(',', $data[1]);
return $val[0];

或者有没有更好的方法来处理这种类型的字符串?我认为也可以使用正则表达式来完成。

感谢。

2 个答案:

答案 0 :(得分:2)

我建议通过将此正则表达式应用于字符串IN\.Tags\.Share\((.*)\来取出JSON。拉出第一组,然后使用json_decodehttp://php.net/manual/en/function.json-decode.php

这样,您就可以直接访问数据了。它也将支持复杂的数据结构。

答案 1 :(得分:2)

如果当然我不确定你的格式是否会保持不变,但是你的字符串部分看起来像JSON。如果总是这样,你可以这样做:

 $str = str_replace('IN.Tags.Share(', '', $str);
 $values = json_decode($str);
 echo $values->count;