header('Content-type:text/html;charset=utf-8');
$lines = file('http://ditu.google.cn/maps?output=js&q=快餐&sll=39.886557,116.336975&radius=5&start=0');
foreach ($lines as $line_num => $line) {
$s.= ($line);
}
$s= iconv('GBK', 'UTF-8',$s);
//echo $s.'<br><br><br>===========================================<br><br><br>';
$start_str = "w.loadVPage(";$end_str = ",\"state\");}";$a = strpos($s,$start_str);$b = strpos($s,$end_str);$string= substr($s,$a+strlen($start_str),$b-$a-strlen($start_str));//print_r($string);print_r(json_decode($string,true));我php版本为5.2
print_r(json_decode($string,true))没有任何输出,各位大侠,这里的$string要怎样遍历呢?
$lines = file('http://ditu.google.cn/maps?output=js&q=快餐&sll=39.886557,116.336975&radius=5&start=0');
foreach ($lines as $line_num => $line) {
$s.= ($line);
}
$s= iconv('GBK', 'UTF-8',$s);
//echo $s.'<br><br><br>===========================================<br><br><br>';
$start_str = "w.loadVPage(";$end_str = ",\"state\");}";$a = strpos($s,$start_str);$b = strpos($s,$end_str);$string= substr($s,$a+strlen($start_str),$b-$a-strlen($start_str));//print_r($string);print_r(json_decode($string,true));我php版本为5.2
print_r(json_decode($string,true))没有任何输出,各位大侠,这里的$string要怎样遍历呢?
php中json是这样用的啊:
$json='{"item1":[{"name":[{"chen":"chenling","ling":"chenli"}],"sex":"男","age":"25"},{"name":"sun","sex":"女","age":"24"}]}';
$J=json_decode($json);
print_r($J);
但是读到的是这样的:{title:"快餐 - Google 地图",url:"/maps?q=%E5%BF%AB%E9%A4%...区别在于名称没有用引号括起
http://www.google.com.hk/search?hl=zh-CN&newwindow=1&safe=strict&rls=com.microsoft:zh-cn:IE-SearchBox&rlz=1I7BJYT_zh-CN&&sa=X&ei=--t0TOfJEMWrcZDjhY8G&ved=0CBkQBSgA&q=php+json&spell=1
require_once('JSON.php');
$json = new Services_JSON();
$value = $json->decode($string);
print_r($value);于是得到stdClass Object
(
[title] => 快餐 - Google 地图
[url] => /maps?q=%E5%BF%AB%E9%A4%90\x26sll=39.886557,116.336975\x26radius=5\x26start=0\x26ie=UTF8\x26hq=%E5%BF%AB%E9%A4%90\x26hnear=
[urlViewport] =>
[ei] => ZcJ1TMDlD4WcvgPG1vz4Bg
[form] => stdClass Object
(
[selected] => q
[q] => stdClass Object
(
[q] => 快餐
[attr] => 方圆 8 公里之内
[what] => 快餐
[near] =>
) [d] => stdClass Object
(
[saddr] =>
[daddr] =>
[dfaddr] =>
) [geocode] =>
) [query] => stdClass Object
(
[type] => l
) [viewport] => stdClass Object
(
[center] => stdClass Object
(
[lat] => 0
[lng] => 0
[alt] => stdClass Object
(
[ll] => 34525791589578067142
[mode] => 2
) ) [span] => stdClass Object
(
[lat] => 0.006295
[lng] => 0.006295
) [mapType] =>
) [modules] => Array
(
[0] =>
[1] => truffle
[2] => strr
[3] => qopa
[4] => mpcl
[5] => appiw
) [overlays] => stdClass Object
(
[sxcar] =>
[ers] => Array
(
[0] => stdClass Object
(
[id] => A
[cid] => 10986699045790086426
[latlng] => stdClass Object
(
[lat] => 0
[lng] => 0
[alt] => stdClass Object
(
[ll] => 34525821589557137026
[mode] => 2
) ) [image] => http://maps.gstatic.cn/intl/zh-CN_cn/mapfiles/erA.png
[sprite] => stdClass Object
(
[width] => 20
[height] => 34
[top] => 0
[image] => http://maps.gstatic.cn/intl/zh-CN_cn/mapfiles/red_ers_A_J2.png
) [icon_id] => A
[drg] => 1
[laddr] => 北京市宣武区广安门外大街180号 (必胜客(广外华联店))
[geocode] => CWeweQ1LFZp2FeepYAIdgCvvBiEa9XB2kph4mA
[name] => 必胜客(广外华联店)
[infoWindow] => stdClass Object
(
[title] => 必胜客(广外华联店)
[addressLines] => Array
(
[0] => 北京市宣武区广安门外大街180号
......
xuzuning 用的是什么编辑器?在浏览器中输出的很乱...stdClass Object ( [title] => 快餐 - Google 地图 [url] => /maps?q=%E5%BF%AB%E9%A4%90\x26sll=39.886557,116.336975\x26radius=5\x26start=0\x26ie=UTF8\x26hq=%E5%BF%AB%E9%A4%90\x26hnear= [urlViewport] => [ei] => Qcl1TJXtEoaVkAW-wZWrCw [form] => stdClass Object ( [selected] => q [q] => stdClass Object ( [q] => 快餐 [attr] => 方圆 8 公里之内 [what] => 快餐 [near] => )