gpt4 book ai didi

php strpos 特殊字符

转载 作者:行者123 更新时间:2023-12-04 14:00:56 26 4
gpt4 key购买 nike

我使用的是 PHP 版本 5.1.6

我有一个字符串( session 文件)并且需要从中提取一个值,所以我在字符串中搜索针但它返回 false,我将代码缩减为:

$string = ';SERVER_NAME|s:17:"stackoverflow.com";REMOTE_ADDR|s:13:"69.59.196.211";';
$start = strpos($string, ';SERVER_NAME|s:"');
echo $start; // prints nothing because $start = false

$start = strpos($string, 'SERVER_NAME|s:');
echo $start; // prints 1;

如您所见,如果我有字符“;”或针中的字符 '"',搜索返回 false,我尝试对针中的所有字符使用 chr() 但结果相同,如果我删除 ';'如果在字符串中找到针,则字符串中的 '"'。

如何使用 PHP 搜索字符串中的特殊字符?

最佳答案

您正在搜索 ;SERVER_NAME|s:",这显然不存在于干草堆中。我猜您打算使用 ;SERVER_NAME|s:17:"作为针。

$start = strpos($string, ';SERVER_NAME|s:17:"');
echo $start; // prints 0

这是我遗漏的错字,抱歉,问题已解决。 正确的代码是:

$result = ';SERVER_NAME|s:17:"stackoverflow.com";REMOTE_ADDR|s:13:"69.59.196.211";';
$str_start = ';SERVER_NAME|s:';
$str_end = ':"';
$start = strpos($result, $str_start)+strlen($str_start);
$end = strpos($result, $str_end, $start);
$len = $end - $start;
$str_len = substr($result, $start, $len);
echo $server_name = substr($result, ($end + strlen($str_end)), $str_len);

最后它打印:stackoverflow.com

成功了,谢谢大家的帮助!

关于php strpos 特殊字符,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2818917/

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