PHP 正则表达式:从 URL 获取域

2022-08-30 17:20:37

我想要什么


我想从一个部分得到所以从URLdomainhttp://example.com/ -> example.com

例子:


+----------------------------------------------+-----------------------+
| input                                        | output                |
+----------------------------------------------+-----------------------+
| http://www.stackoverflow.com/questions/ask   | www.stackoverflow.com |
| http://validator.w3.org/check                | validator.w3.org      |
| http://www.google.com/?q=hello               | www.google.com        |
| http://google.de/?q=hello                    | google.de             |
+----------------------------------------------+-----------------------+

我在其中发现了一些相关的问题,但没有一个正是我想要的。stackoverflow

感谢您的任何帮助!


答案 1

没有必要为此使用正则表达式。PHP有一个内置的函数来做到这一点。使用 parse_url()

$domain = parse_url($url, PHP_URL_HOST);

答案 2

我使用:

$domain = parse_url('http://' . str_replace(array('https://', 'http://'), '', $url), PHP_URL_HOST);

因为 当 中缺少架构时,不会返回主机键。parse_url$url


推荐