PHP 改如何提取这个 openid 值

2014-08-04 11:54:58 +08:00
 csensix
如题.
QQ登录返回的包是这样的:callback( {"client_id":"YOUR_APPID","openid":"YOUR_OPENID"} );

我想要用其中的openid,有什么好办法可以提取出来么?
5203 次点击
所在节点    问与答
9 条回复
skydiver
2014-08-04 11:56:56 +08:00
substring
json decode
csensix
2014-08-04 11:57:37 +08:00
@skydiver 这是json格式吗?
wingoo
2014-08-04 11:57:44 +08:00
先replace,再json_decode
csensix
2014-08-04 11:58:02 +08:00
@skydiver 似乎明白了点什么
MaiCong
2014-08-04 12:13:01 +08:00
<?php
$str = 'callback({"client_id":"YOUR_APPID","openid":"YOUR_OPENID"});';
$lpos = strpos($str, "(");
$rpos = strrpos($str, ")");
$str = substr($str, $lpos+1, $rpos-$lpos-1);
$json = json_decode($str);
// print_r($json);
$openid = $json->openid;
echo $openid;
feiyuanqiu
2014-08-04 12:33:22 +08:00
这个其实是qq准备让你用js来运行的...

```php
$callback = 'callback( {"client_id":"YOUR_APPID","openid":"YOUR_OPENID"} )';
if (preg_match('/\"openid\":\"(\w+)\"/i', $callback, $match)) {
$openid = $match[1];
}
var_dump($openid);exit;
```
略菜...勿喷
csensix
2014-08-04 12:47:31 +08:00
@feiyuanqiu 赞一个,已经做好功能了。
zts1993
2014-08-04 13:19:32 +08:00
jsonp
belin520
2014-08-04 13:58:34 +08:00
jsonp

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/126009

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX