我使用以下函数从字符串中剪切域:
function get_domain($url)
{
$pieces = parse_url($url);
$domain = isset($pieces['host']) ? $pieces['host'] : '';
if (preg_match('/(?P<domain>[a-z0-9][a-z0-9'-]{1,63}'.[a-z'.]{2,6})$/i', $domain, $regs)) {
return $regs['domain'];
}
return false;
}
我需要削减子域+域我应该如何改变preg_match
来获得它?
PS我正在寻找解决方案,但每个人都想只剪域名而不剪子。
如果您不能计算出regexp,那么一个更程序化的方法可能是:
$pieces = parse_url($url);
$aDomains = explode('.', $pieces['host']);
$sub = array_shift($aDomains);
$restofdomain = implode($aDomains);
…如果你总是想要第一个域名(即它不会与根域名像'somedomain.com'工作。