我正试图围绕游戏Miscrits:World Adventure制作一个Facebook应用程序 我们的想法是建立一个PVP阶梯。
为了实现这一点,我希望应用能够自动获取播放器信息。 信息存储在此处:http://miscrits.brokenbulbstudios.com/player/info(每位玩家都有) 它返回的结果如下所示> http://pennygasm.com/info.htm
有一个大胆的区域,我已将信息分开,以便于阅读。 我需要将每个粗体值存储在变量中。这样我就可以做一些计算并创建一个玩家等级。
玩家将访问我的应用程序并点击“加入梯子”,然后它将从错误的URL获取信息。我猜测玩家需要定期返回以更新他们的信息?它可以在用户访问页面时自动更新...
无论如何......如何将这些信息转化为某些变量?
答案 0 :(得分:1)
数据看起来是JSON,因此您应该只能使用JSON解析器来读取该数据。 PHP有json_decode
形式的一个,它返回一个带有数据的关联数组。
但是,首先,在使用JSON及其语法之前,您应该熟悉JSON及其语法。如果您已经了解JavaScript或Python,则应分别将其识别为对象/数组表示法和词典/列表。
一个例子:
$myvar = json_decode('{
"hello" : 1
"there" : [ "a", "b", "c" ]
}');
...将成为,在PHP中:
$myvar = array(
"hello" => 1,
"there" => array("a", "b", "c")
);
...在json_decode
之后。
答案 1 :(得分:1)
这些字符串看起来像有效的JSON。在PHP 5.2+中,您可以使用json_decode()将json字符串转换为充满变量的对象/数组:)
看到这个:
http://php.net/manual/en/function.json-decode.php
试试这个:
// grab the JSON data and stuff it in a variable
$json = file_get_contents("http://miscrits.brokenbulbstudios.com/player/info", true);
// decode to an associative array using json_decode()
$decoded = json_decode($json, true);
//check out what's in there
print_r($decoded);
答案 2 :(得分:0)
返回的结果称为JSON(http://www.json.org/或http://en.wikipedia.org/wiki/JSON)。 Javascript有一个名为eval的函数,可用于将字符串计算为JSON对象。实际上,您可以使用eval将任何字符串计算为代码。这将需要如下代码:
eval('var YourVariableName ='+ReturnedJSONData);
然后你可以像s:
那样访问代码YourVariableName.JSONPropertyName;
如果您使用的API无法返回可以自动评估为JSON的JSONP(http://en.wikipedia.org/wiki/JSON),我不会被拒绝。