如何从域名中获取第一个子域名

我有以下代码:

VM364:1 POST https://<my-website>/wp-admin/admin-ajax.php?action=ai1wm_import 404 (Not Found)
(anonymous) @ VM364:1
send @ load-scripts.php?c=0&load[]=jquery-core,jquery-migrate,utils&ver=5.2.4:4
ajax @ load-scripts.php?c=0&load[]=jquery-core,utils&ver=5.2.4:4
FileUploader.upload @ import.min.js?v=7.9&ver=5.2.4:1358
(anonymous) @ import.min.js?v=7.9&ver=5.2.4:1246
dispatch @ load-scripts.php?c=0&load[]=jquery-core,utils&ver=5.2.4:3
r.handle @ load-scripts.php?c=0&load[]=jquery-core,utils&ver=5.2.4:3
import.min.js?v=7.9&ver=5.2.4:1384 Uncaught Error: error
    at Object.error (import.min.js?v=7.9&ver=5.2.4:1384)
    at i (load-scripts.php?c=0&load[]=jquery-core,utils&ver=5.2.4:2)
    at Object.fireWith [as rejectWith] (load-scripts.php?c=0&load[]=jquery-core,utils&ver=5.2.4:2)
    at x (load-scripts.php?c=0&load[]=jquery-core,utils&ver=5.2.4:4)
    at XMLHttpRequest.c (load-scripts.php?c=0&load[]=jquery-core,utils&ver=5.2.4:4)

但是这将导致$url=$_SERVER['HTTP_HOST']; // www.abc.alpha.beta.xyz $url=strtolower($url); $rwww=str_replace("www.","",$url); ,期望的结果是abc.alpha.beta.xyz。如何仅获得第一个子域,而忽略abc(如果存在)?

q474136201 回答:如何从域名中获取第一个子域名

我认为您可以使用PHP strpos()函数来检查子域URL字符串是否包含单词 alpha

// Search substring  
$key = 'alpha'; 
$url = 'http://abc.alpha.beta.xyz';

if (strpos($url,$key) !== false) { 
    echo $key; 
}  

这不是最佳解决方案,但可能对您入门有所帮助。

,

有很多方法可以做到这一点,一个简单的方法就是:

$host = $_SERVER['HTTP_HOST'] ?? 'www.abc.alpha.beta.xyz';
$parts = explode('.',$host);

$answer = null;
foreach ($parts as $subdomain) {
    if ($subdomain === 'www') {
        continue;
    }
    $answer = $subdomain;
    break;
}

echo "The answer is '$answer'";

哪个会输出:

The answer is 'abc'

请注意,这是一种非常幼稚的方法,将为输入example返回www.example.com-这不是子域。

本文链接:https://www.f2er.com/3169879.html

大家都在问