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

发布于 2024-10-08 13:26:59 字数 316 浏览 4 评论 0原文

我有一个像这样的字符串:

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

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

注意:这不是来自 URL(我们可以这样做使用 $_GET

谢谢

I have a string like this :

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

How can I extract the two variables oauth_token and oauth_token_secret from the about string using PHP

NOTE: this is not coming from the URL( we can do that using $_GET)

Thank YOU

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(4

ヤ经典坏疍 2024-10-15 13:26:59

使用 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()

Use parse_str() for parsing query string parameters.

// 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'];

You may wish to urldecode() the variables after you've extracted them.

策马西风 2024-10-15 13:26:59

试试这个

$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>";

try this

$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>";
乖乖兔^ω^ 2024-10-15 13:26:59

1,拆分 $string 的两部分,

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

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

 $oauth_token_array = explode('=',$str_array[0]);
 $oauth_token = $oauth_token_array[1];

编辑:忽略这一点,它绝对是冗长的。 BoltClock 就是解决方案。

1, split the two parts of the $string,

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

2, get the part after the "=" sign, so for the oauth_token part:

 $oauth_token_array = explode('=',$str_array[0]);
 $oauth_token = $oauth_token_array[1];

EDIT: ignore this, it's definitely verbose. BoltClock's the solution.

雨的味道风的声音 2024-10-15 13:26:59

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

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

$值=数组();
parse_str($query_strng, $values);

相当丑陋的函数,为什么它不能只返回值数组。它将它们填充到单独的变量中,或者您需要传递一个引用。加油,php,你可以做得更好。 /咆哮

The best way (most reusable) is to use a function which returns an array similar to $_GET.

edit There is already a function for this: http://www.php.net/manual/en/function.parse-str.php This will work with array get values too.

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

Quite an ugly function, why can't it just return the array of values. It either stuffs them into individual variables or you need to pass in a reference. Come on php, you can do better. /rant

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文