我想知道使用PHP从域中删除某些东西的最佳方法。
例如:
“ http://mydomain.com/ ”进入“ mydomain ”
或
“ http://mydomain.co.uk/ ”进入“ mydomain ”
我正在寻找一个快速的功能,可以让我删除以下内容:
“http://”,“www。”,“。com”,“。co.uk”,“。net”,“。org”,“/”等
提前致谢:)
答案 0 :(得分:6)
要获取网址的主机部分,请使用parse_url
:
$host = parse_url($url, PHP_URL_HOST);
答案 1 :(得分:1)
你能使用字符串替换吗?
str_replace('http://', '');
这会从字符串中删除'http://'。您首先需要做的就是获取页面的当前URL并将其传递给您想要的任何字符串替换..
答案 2 :(得分:1)
我会str_replace'http://'然后爆炸完整域名中的句点。
答案 3 :(得分:0)
您可以组合使用parse_url()和str_ *函数,但如果您需要从结果中剪切域区域(.com,.net等),那么您将永远不会得到正确的结果。
例如:
parse_url('http://mydomain.co.uk/', PHP_URL_HOST); // will return 'mydomain.co.uk'
您需要使用使用Public Suffix List的库来处理此类情况。我推荐TLDExtract。
以下是示例代码:
$extract = new LayerShifter\TLDExtract\Extract();
$result = $extract->parse('mydomain.co.uk');
$result->getHostname(); // will return 'mydomain'
$result->getSuffix(); // will return 'co.uk'
$result->getFullHost(); // will return 'mydomain.co.uk'
$result->getRegistrableDomain(); // will return 'mydomain.co.uk'