将字符串转换为变量?

时间:2011-02-14 00:12:11

标签: php javascript html

我正试图围绕游戏Miscrits:World Adventure制作一个Facebook应用程序 我们的想法是建立一个PVP阶梯。

为了实现这一点,我希望应用能够自动获取播放器信息。 信息存储在此处:http://miscrits.brokenbulbstudios.com/player/info(每位玩家都有) 它返回的结果如下所示> http://pennygasm.com/info.htm

有一个大胆的区域,我已将信息分开,以便于阅读。 我需要将每个粗体值存储在变量中。这样我就可以做一些计算并创建一个玩家等级。

玩家将访问我的应用程序并点击“加入梯子”,然后它将从错误的URL获取信息。我猜测玩家需要定期返回以更新他们的信息?它可以在用户访问页面时自动更新...

无论如何......如何将这些信息转化为某些变量?

3 个答案:

答案 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),我不会被拒绝。