如何在PHP中从此字符串中提取两个变量

时间:2010-12-18 06:34:01

标签: php extract

我有一个这样的字符串:

oauth_token=1%2F7VDUGD4tKIqSu4jX4DoeCRD1KbqqgTxFnFFliVgbSss&oauth_token_secret=Rk%2FwejMIg6t%2BFphvRd%2BZ5Wkc

如何使用PHP从about字符串中提取两个变量oauth_tokenoauth_token_secret

注意:这不是来自网址(我们可以使用$_GET

谢谢你

4 个答案:

答案 0 :(得分:4)

使用parse_str()解析查询字符串参数。

// Extract into current scope, access as if they were PHP variables
parse_str($str);
echo $oauth_token;
echo $oauth_token_secret;

// Extract into array
parse_str($str, $params);
echo $params['oauth_token'];
echo $params['oauth_token_secret'];

您可能希望在提取变量后urldecode()变量。

答案 1 :(得分:1)

试试这个

$text = "oauth_token=1%2F7VDUGD4tKIqSu4jX4DoeCRD1KbqqgTxFnFFliVgbSss&oauth_token_secret=Rk%2FwejMIg6t%2BFphvRd%2BZ5Wkc"
;
$i=explode('&',$text);
$j=explode('=',$i[0]);
$k=explode('=',$i[1]);
echo $j[0]."<br>";
echo $j[1]."<br>";
echo $k[0]."<br>";
echo $k[1]."<br>";

答案 2 :(得分:0)

1,拆分$ string的两部分,

$str_array = explode('&',$string);

2,获取“=”符号后面的部分,所以对于oauth_token部分:

 $oauth_token_array = explode('=',$str_array[0]);
 $oauth_token = $oauth_token_array[1];
编辑:忽略这一点,这绝对是冗长的。 BoltClock是解决方案。

答案 3 :(得分:0)

最好的方法(最可重用)是使用一个返回类似于$ _GET的数组的函数。

编辑已有一个功能:http://www.php.net/manual/en/function.parse-str.php这也适用于数组获取值。

$ values = array(); parse_str($ query_strng,$ values);

相当丑陋的功能,为什么它不能只返回值数组。它要么将它们填充到单个变量中,要么需要传入引用。来吧php,你可以做得更好。 /咆哮