首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >在PHP中获取没有www和.com的域名

在PHP中获取没有www和.com的域名
EN

Stack Overflow用户
提问于 2014-11-07 07:38:26
回答 3查看 4.7K关注 0票数 2

我需要从网址中获取域名,不包括"www“和".com”或".co.uk“或其他任何内容。

例子-

我有以下网址,比如-

代码语言:javascript
运行
复制
http://www.example.com
http://www.example.co.uk
http://subdomain.example.com
http://subdomain.example.co.uk

".com“、".org”、".co.in“、".co.uk”都有。

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2014-11-07 08:09:56

我试试看它对我有用。

代码语言:javascript
运行
复制
    $original_url="http://subdomain.example.co.uk"; //try with all urls above

    $pieces = parse_url($original_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)) {
       echo strstr( $regs['domain'], '.', true );
    }

Output- example

我从这里得到这个,从完整URL获取域名

票数 3
EN

Stack Overflow用户

发布于 2014-11-07 09:26:57

代码语言:javascript
运行
复制
(?:https?:\/\/)?(?:www\.)?(.*)\.(?=[\w.]{3,4})

试试this.See demo.Grab的捕捉。

http://regex101.com/r/bW3aR1/2

票数 2
EN

Stack Overflow用户

发布于 2014-11-07 07:41:51

您应该将PHP函数url()str_replace()或regex结合使用,甚至可能使用regex。这取决于以下几点:

要注意的事情:

  • 总有一个子域吗?
  • 是否会有允许子域的特定列表?

我会这样做:

代码语言:javascript
运行
复制
<?php
$url = 'http://www.something.com';
$parts = explode('.', parse_url($url, PHP_URL_HOST));
echo $parts[1]; // "something"
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/26796334

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档