我试图通过输入网址或域名本身来获取域名(即" domain.com")
我尝试使用
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;
}
但输入简单的&#34; domain.com&#34;
时失败了我似乎无法解决这个问题。
答案 0 :(得分:0)
如果您向&#39; domain.com&#39;询问parse_url它将其作为文件名返回
$pieces = parse_url($url); // 'path' => domain.com
<强>更新强>
您可以使用此类正则表达式获取域
^(https{0,1}:\/\/|)([^\/]+)(\/*.+|)$
从下面的所有行中获取example.com
http://example.com/dd.dfgjhdfg
https://example.com/dd.dfgjhdfg
http://example.com/
http://example.com
example.com/
example.com
答案 1 :(得分:0)
以下是工作代码:
$domainparse = parse_url($domainpost);
$domainpath = $domainparse['path'];
if ($domainpost == $domainpath) {
$domain = $domainpost;
}else {
$domain = get_domain($domainpost);
}
$domain = str_replace("www.", "", $domain);
谢谢splash58!如果我及时看到它,我会使用你的代码