如何获取域名示例中第一个点后面的字符串如何获取 .com 域中的 com 或 .co.uk 域中的 co.uk

问题描述 投票:0回答:2

我想知道如何用正则表达式获取域名中的com或co.uk

$domain = abcde.co.uk;
$domain2 = abcde.com
    
$tdl = preg_replace('/^.*\.([^.]+)$/D', '$1', $domain);
echo $tdl;

$tdl2 = preg_replace('/^.*\.([^.]+)$/D', '$1', $domain);
echo $tdl2;

它在第二个中有效,但在第一个中无效。

php regex
2个回答
1
投票

你可以做

substr($domain, strpos($domain, '.') + 1)
。万无一失,并且可能比正则表达式更具可读性。

警告:仅当您的字符串包含

.

时它才有效

0
投票

此代码将输出第一个点之后的任何扩展名:

$domain = "abcde.com";
$tdl = preg_replace('/^[^.]+\.(.*)$/', '$1', $domain);
echo $tdl;
© www.soinside.com 2019 - 2024. All rights reserved.