Php 检索Cookie值的一部分并存储在变量中

Php 检索Cookie值的一部分并存储在变量中,php,cookies,string-parsing,Php,Cookies,String Parsing,我有一个ASP.NET登录应用程序。 登录成功后,我的应用程序将创建一个Cookie 创建时,我的cookie类似于: Name: LoginCookie Value: guid=3eb8d82d-bc83-4ab9-b12b-880f84404a1d&login=true 我的问题是,使用PHP,如何检索“guid”值并将其存储在变量中? 非常感谢您的指点。您可以尝试使用正则表达式: $cookieValue = $_COOKIE['LoginCookie']; preg_matc

我有一个ASP.NET登录应用程序。 登录成功后,我的应用程序将创建一个Cookie

创建时,我的cookie类似于:

Name: LoginCookie

Value: guid=3eb8d82d-bc83-4ab9-b12b-880f84404a1d&login=true
我的问题是,使用PHP,如何检索“guid”值并将其存储在变量中?


非常感谢您的指点。

您可以尝试使用正则表达式:

$cookieValue = $_COOKIE['LoginCookie'];
preg_match('#guid=([\-a-f0-9]+)#', $cookieValue, $matches);
$guid = $matches[0];
如果guid的格式总是这样,则可以将正则表达式更新为更具体的格式。现在,它将匹配guid=之后的任何内容,直到它匹配的不是数字、小写十六进制字母(a-f)或破折号

如果cookie位于key1=value1&key2=value2中,那么使用PHP也是一个很好的选择。。。格式。它采用URL参数样式字符串,并将其拆分为多个键/值对

$cookieValue = $_COOKIE['LoginValue'];
parse_str($cookieValue, $cookieParts);
$guid = $cookieParts['guid'];

这种方法可能是一种更干净的方法,可以通过“PHP”的方式获取这些值。

您可以使用正则表达式对此进行演示:

$cookieValue = $_COOKIE['LoginCookie'];
preg_match('#guid=([\-a-f0-9]+)#', $cookieValue, $matches);
$guid = $matches[0];
如果guid的格式总是这样,则可以将正则表达式更新为更具体的格式。现在,它将匹配guid=之后的任何内容,直到它匹配的不是数字、小写十六进制字母(a-f)或破折号

如果cookie位于key1=value1&key2=value2中,那么使用PHP也是一个很好的选择。。。格式。它采用URL参数样式字符串,并将其拆分为多个键/值对

$cookieValue = $_COOKIE['LoginValue'];
parse_str($cookieValue, $cookieParts);
$guid = $cookieParts['guid'];
这种方法可能是一种通过“PHP”方式获取这些值的更干净的方法。

使用

使用


你为什么不分别放两块饼干?!你为什么不分别放两块饼干?!非常感谢。看来parse_str是最好的方法。谢谢!!看来parse_str是最好的方法。