我需要从网址中获取域名,不包括"www“和".com”或".co.uk“或其他任何内容。
例子-
我有以下网址,比如-
http://www.example.com
http://www.example.co.uk
http://subdomain.example.com
http://subdomain.example.co.uk
".com“、".org”、".co.in“、".co.uk”都有。
发布于 2014-11-07 08:09:56
我试试看它对我有用。
$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获取域名
发布于 2014-11-07 09:26:57
(?:https?:\/\/)?(?:www\.)?(.*)\.(?=[\w.]{3,4})
试试this.See demo.Grab的捕捉。
http://regex101.com/r/bW3aR1/2
发布于 2014-11-07 07:41:51
您应该将PHP函数url()与str_replace()
或regex结合使用,甚至可能使用regex。这取决于以下几点:
要注意的事情:
我会这样做:
<?php
$url = 'http://www.something.com';
$parts = explode('.', parse_url($url, PHP_URL_HOST));
echo $parts[1]; // "something"
https://stackoverflow.com/questions/26796334
复制相似问题