2011-02-12 149 views
0
echo $cookie[4]; 

结果:阵列过滤 - PHP

#HttpOnly_bacohuracm FALSE/TRUE 0 PHPSESSID 3A8DB8BE067954EE327A56F7F8D8B19C 

我想删除这部分:

#HttpOnly_bacohuracm FALSE/TRUE 0 PHPSESSID 

和想要得到的只是这一部分:

3A8DB8BE067954EE327A56F7F8D8B19C 

我试过的preg_match,它给出了一个空结果。我尝试了一些其他的方式,并得到相同的结果为空,仍然无法弄清楚如何我可以做这个工作用PHP ..请给我一些建议

+0

向我们展示您的尝试。 `preg_match()** **从不**返回null。 – BoltClock 2011-02-12 19:14:15

+0

你能用preg_match过滤那部分吗?你能告诉我一个例子,所以它解决了我的问题 – 2011-02-12 19:26:43

回答

2
foreach($cookie as $value) 
    echo substr($value, strpos($value, 'PHPSESSID')+10); 

会工作

0

只返回什么你正在寻找:

$source = "#HttpOnly_bacohuracm FALSE/TRUE 0 PHPSESSID 3A8DB8BE067954EE327A56F7F8D8B19C"; 
preg_match("/PHPSESSID (\w+)$/", $source, $matches); 
print $matches[1]; 

如果这仍然返回null,错误文本被抑制?日志中是否有任何相关内容?