如何在PHP中从URL中删除 http://,www和斜杠?

2022-08-30 10:41:50

我需要一个php函数,它从URL生成一个纯域名。因此,如果此函数存在,则必须从 URL 中删除 和 (斜杠) 部分。以下是输入和输出示例:输入 - >http://www.google.com/|输出 -> google.com
输入 - > http://google.com/ |输出 -> google.com
输入 - > www.google.com/ |输出 -> google.com
输入 - > google.com/ |输出 -> google.com
输入 - > google.com |输出 -> google.com

我检查了函数,但没有返回我需要的内容。由于我是PHP的初学者,这对我来说很困难。如果您有任何想法,请回答。
提前感恩节。http://www/parse_url


答案 1
$input = 'www.google.co.uk/';

// in case scheme relative URI is passed, e.g., //www.google.com/
$input = trim($input, '/');

// If scheme not included, prepend it
if (!preg_match('#^http(s)?://#', $input)) {
    $input = 'http://' . $input;
}

$urlParts = parse_url($input);

// remove www
$domain = preg_replace('/^www\./', '', $urlParts['host']);

echo $domain;

// output: google.co.uk

可正确处理所有示例输入。


答案 2
$str = 'http://www.google.com/';
$str = preg_replace('#^https?://#', '', rtrim($str,'/'));
echo $str; // www.google.com

推荐