gpt4 book ai didi

php - 正则表达式 Cookie 获取 PHPSESSID 值

转载 作者:行者123 更新时间:2023-12-04 06:17:40 25 4
gpt4 key购买 nike

我有一个包含以下数据的 cookie:

.somesite.com   TRUE    /   FALSE   1315605660  lang    en
.somesite.com TRUE / FALSE 1314223260 role premium
.somesite.com TRUE / FALSE 1314223260 PHPSESSID 7ah4ppb3bcbubged8pejb05s35
.somesite.com TRUE / FALSE 1314223260 rememberMe 1
.somesite.com TRUE / FALSE 1314223260 email me@email.me
.somesite.com TRUE / FALSE 1281477659 nickname deleted
.somesite.com TRUE / FALSE 1281477659 isAffiliate deleted
.somesite.com TRUE / FALSE 0 messagingUnread 0
.somesite.com TRUE / FALSE 0 messagingUnreadLastcheck 1313013660

我只想获得 PHPSESSID 的值,在这种情况下是:7ah4ppb3bcbubged8pejb05s35

如何使用 preg_match 获得该值?

更新:

所以这里是 var_dump($cookie); 的结果
string '# Netscape HTTP Cookie File
# http://curl.haxx.se/rfc/cookie_spec.html
# This file was generated by libcurl! Edit at your own risk.

.somesite.com TRUE / FALSE 1315612275 lang en
.somesite.com TRUE / FALSE 1314229875 role premium
.somesite.com TRUE / FALSE 1314229875 PHPSESSID j8v4ifqfpvbfr1cjp49e8del55
.somesite.com TRUE / FALSE 1314229875 rememberMe 1
.somesite.com TRUE / FALSE 1314229875 email me%40email.me
.somesite.com TRUE / FALSE 1281484274 nickname deleted
.somesite.com TRUE / FALSE 1281484274 isAffiliate deleted
.somesite.com TRUE / FALSE 0 messagingUnread 0
.somesite.com TRUE / FALSE 0 messagingUnreadLastcheck 1313020275
' (length=647)

我试过这个:
$search_expression = '/PHPSESSID\s+(.*)$/';
preg_match($search_expression, $cookie, $search_result);

然后我 var_dump($search_result);
array
empty

不知道我做错了什么......

最佳答案

您可能只是错误地使用了 preg_match。要使用搜索结果填充变量,它看起来像这样:

$search_expression = '/PHPSESSID\s+(.*)$/';
preg_match($search_expression, $cookie, $search_result);

然后要引用特定的 session ID,您将引用 $search_result[1] ,这将匹配括号中的内容( session ID)。所以要使用这个例子,试试这个:
$search_expression = '/PHPSESSID\s+(.*)$/';
if (preg_match($search_expression, $cookie, $search_result)) {
echo "PHP Session ID found.";
$phpsessionid = $search_result[1];
} else {
echo "PHP Session ID not found.";
}

这将有助于缩小问题的范围。如果仍然没有返回任何内容,则问题出在搜索表达式上。如果是这种情况,您可以交替尝试:
$search_expression = '/PHPSESSID\s+(.*)\s+\.some/';

如果这仍然不起作用,请尝试以下搜索表达式:
$search_expression = '/PHPSESSID\s+([a-z0-9]+)\s+\.some/';

关于php - 正则表达式 Cookie 获取 PHPSESSID 值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7018476/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com