字符串例如:2981", "name" : "饭店", "reference" : "CnRwAAAAD
获取"name" : " 与", "reference"之间的字符,编码为UTF-8
我需要循环输出,非常感谢

解决方案 »

  1.   

    1,正则表达式,把需要的字符串找出来
    2,怎么你给的字符串看起来有点像json字符串...
      

  2.   

    preg_match_all("/\"name\" : \"(.*?)\", "reference\"/si",$string,$arr);
    echo $arr[1][1];
      

  3.   

    {"name":"\u996d\u5e97","reference":"CnRwAAAAD"}  json_encode后是这样的,不是json格式的数据。
    按照你说的数据格式,代码如下:
             $str = '"name" : "饭店", "reference" : "CnRwAAAAD"';
    $pattern = '#name" : "(.+?)", "reference#';
    preg_match_all($pattern, $str, $matches);
    var_dump($matches);
      

  4.   

    先转换成json格式,然后再使用for each循环输出 
      

  5.   

    上面没有说清楚,我本以为JSON作为字符串可以直接用正则处理,但是看了一下确实有很多问题.这个是获取的Google地图API的JSON值,当初是使用file_get_contents直接下载的.有没有更好的办法获取这两个中间的值?
      

  6.   

    谷歌给的API 就是一个网址,如何获取这个网址下的JSON?