豌豆Ai站群搜索引擎系统 V.25.10.25 网址:www.wd.chat

🗣 Wd提问: php获取顶级域名

🤖 Ai回答:
在PHP中获取顶级域名有多种方法,以下是几种常用的方式:

方法一:使用 parse_url() 函数

php
<?php
function getTopDomain($url) {
$parse = parse_url($url);
$host = $parse['host'] ?? '';

// 获取域名部分
$parts = explode('.', $host);
$count = count($parts);

if ($count = 2) {
// 简单处理,取最后两部分(如 65.hk)
return $parts[$count-2] 、'.' 、$parts[$count-1];
}

return $host;
}

// 示例
$url = 'https://www.subdomain.65.hk/path';
echo getTopDomain($url); // 输出: 65.hk
?

方法二:使用正则表达式

php
<?php
function getTopDomain($url) {
$parse = parse_url($url);
$host = $parse['host'] ?? '';

// 使用正则表达式匹配顶级域名
if (preg_match('/[a-z0-9][a-z0-9\-]*[a-z0-9]*\.[a-z]{2,4}$/', $host, $matches)) {
return $matches[0];
}

return $host;
}

// 示例
$url = 'https://subdomain.65.hk';
echo getTopDomain($url); // 输出: 65.hk
?

方法三:更完善的处理(考虑多级域名)

php
<?php
function getTopDomain($url) {
$parse = parse_url($url);
$host = $parse['host'] ?? '';

// 移除端口号
$host = preg_replace('/:\d+$/', '', $host);

// 分割域名
$parts = explode('.', $host);
$count = count($parts);

if ($count < 2) {
return $host;
}

// 处理特殊情况(如 .co.uk, .com.cn 等)
$tld = $parts[$count-1];
$second = $parts[$count-2];

// 常见的二级域名后缀
$twoLevelTlds = [
'co.uk', 'com.au', 'co.jp', 'com.cn', 'net.cn', 'org.cn',
'gov.cn', 'edu.cn', 'ac.uk', 'org.uk', 'me.uk', 'co.in'
];

$lastTwo = $second 、'.' 、$tld;

if (in_array($lastTwo, $twoLevelTlds) && $count = 3) {
return $parts[$count-3] 、'.' 、$second 、'.' 、$tld;
}

return $second 、'.' 、$tld;
}

// 示例
echo getTopDomain('https://www.blog.example.co.uk'); // 输出: example.co.uk
echo getTopDomain('https://api.subdomain.65.hk'); // 输出: 65.hk
?

方法四:从当前页面获取

php
<?php
function getCurrentDomain() {
$protocol = isset($_SERVER['HTTPS']) && $_SERVER['HTTPS'] === 'on' ? 'https://' : 'http://';
$host = $_SERVER['HTTP_HOST'] ?? $_SERVER['SERVER_NAME'];

// 分割域名并获取顶级域名
$parts = explode('.', $host);
$count = count($parts);

if ($count = 2) {
return $parts[$count-2] 、'.' 、$parts[$count-1];
}

return $host;
}

// 获取当前页面的顶级域名
echo getCurrentDomain();
?

方法五:使用第三方库(推荐用于生产环境)

对于生产环境,建议使用专门的域名解析库,如 `rsky/php-domain-parser`:

bash
composer require rsky/php-domain-parser

php
<?php
require_once 'vendor/autoload.php';

use Pdp\Rules;
use Pdp\CurlHttpClient;

$rules = Rules::fromPath(__DIR__.'/resources/public_suffix_list.dat', new CurlHttpClient());

$domain = $rules-resolve('www.subdomain.65.hk');
echo $domain-getRegistrableDomain(); // 输出: 65.hk
?

简单实用版本

如果只需要基本功能,可以使用这个简化版本:

php
<?php
function getTopDomain($url) {
$host = parse_url($url, PHP_URL_HOST);
if (!$host) return '';

$parts = explode('.', $host);
$len = count($parts);

// 简单返回最后两部分
return $parts[$len-2] 、'.' 、$parts[$len-1];
}

// 使用示例
echo getTopDomain('https://www.api.65.hk'); // 65.hk
?

选择哪种方法取决于你的具体需求:
简单场景:使用方法一或方法五
需要处理特殊域名后缀:使用方法三
生产环境:建议使用专业的域名解析库

Ai作答

📣 商家广告


算命

求名

日付VPS

广告招商

广告招商


0

IP地址: 88.174.98.223

搜索次数: 11

提问时间: 2025-11-05 13:53:26

🛒 域名购买
63.gs
81.biz
51.biz
3.gx.cn
6.ac.cn
72.plus
liuwang.com.cn
lv.gs
fl.gs
352.net.cn

❓️ 热门提问
搭建手机机房
大连虚拟主机
国外主机测评网
大型公司网站建设
站群源码系统维护
b级机房的建设标准
云电脑与云服务器区别
Schema与课程SEO
PHP二次开发断点调试
服务器windows系统
豌豆Ai站群搜索引擎系统

🌐 域名评估
w81.net
d63.net
su7.studio
621.net.cn
drone.jx.cn
pujs.cn
gqed.cn
zhi.link
xuiz.cn
pztz.cn

⛏ 最新挖掘
凯里酸汤鱼
贵阳烤脑花
都匀毛尖茶
花溪牛肉粉
贵阳烤生蚝
贵阳烤豆腐
贵阳纸包鱼
贵阳特色菜

🖌 热门作画

🤝 关于我们:
豌豆Ai 域名 建站 站群 留痕 推广 评估 源码
开发Ai 工具 日记 价格 加盟 广告 流量 留言 联系

🗨 加入群聊
群

🔗 友情链接
求名  查询网站域名  ai提问

🧰 站长工具
Ai工具  whois查询  搜索

📢 温馨提示:本站所有问答由Ai自动创作,内容仅供参考,若有误差请用“联系”里面信息通知我们人工修改或删除。

👉 技术支持:本站由豌豆Ai提供技术支持,使用的最新版:《豌豆Ai站群搜索引擎系统 V.25.10.25》搭建本站。

上一篇 63003 63004 63005 下一篇