我需要制作一个脚本,它将从 $_SERVER['SERVER_NAME'] 中删除子域,以便在 setcookie 函数的域选项上使用它,以允许在所有可能的子域上访问 cookie。
例如,假设我有
function strip_out_subdomain($domain)
{
//do something to remove subdomain
return $only_my_domain;
}
$domain = strip_out_subdomain($_SERVER['SERVER_NAME']);
setcookie('mycookie', '123', time()+3600, '/', $domain);
这里的主要问题是我不知道我的域的模式。它可能是这样的:
- www.mydomain.com
- subdomain.mydomain.com
- subdo.mydo.co
- subdo.subdo.mydomain.com
- subdo.subdo.mydo.co.uk
- 等等
谢谢
斯蒂芬妮
最佳答案
这是从完整域名中删除子域部分的正则表达式样式。
.*?
运算符使通配符匹配不贪婪,以便匹配第一个点。
function strip_out_subdomain($domain)
{
$only_my_domain = preg_replace("/^(.*?)\.(.*)$/","$2",$domain);
return $only_my_domain;
}
关于php - 从 $_SERVER ['SERVER_NAME' 中删除子域],我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5328442/