我有一个这样的字符串:
oauth_token=1%2F7VDUGD4tKIqSu4jX4DoeCRD1KbqqgTxFnFFliVgbSss&oauth_token_secret=Rk%2FwejMIg6t%2BFphvRd%2BZ5Wkc
如何使用PHP从about字符串中提取两个变量oauth_token
和oauth_token_secret
注意:这不是来自网址(我们可以使用$_GET
)
谢谢你
答案 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,你可以做得更好。 /咆哮