PHP: Удалить ‘WWW’ из URL внутри строки

#php #string #dns #parse-url

#php #строка #dns #синтаксический анализ-url

Вопрос:

В настоящее время я использую parse_url, однако элемент host массива также включает в себя часть ‘WWW’, которая мне не нужна. Как бы мне это удалить?

 $parse = parse_url($url);
print_r($parse);
$url = $parse['host'] . $parse['path'];
echo $url;
  

Ответ №1:

 $url = preg_replace('#^www.(. .)#i', '$1', $parse['host']) . $parse['path'];
  

Это не приведет к удалению www in www.com , но www.www.com приведет к www.com .

Комментарии:

1. ваше решение хорошее, но в нем отсутствует такой случай, как www.www.test.com . обновленная версия — preg_replace(‘#^(?:www.) (. .)# i’, ‘$1’, $domain);

Ответ №2:

 preg_replace('#^(http(s)?://)?w{3}.#', '$1', $url);
  

если вам не нужен префикс протокола, оставьте второй параметр пустым

Комментарии:

1. новая версия: preg_replace(‘#^(http(s)?://)?w{3}.(w .w )#’, ‘$1$3’, $ url); Удалить 1 доллар за пропуск протокола

Ответ №3:

 $url = preg_replace('/^www./i', '', $parse['host']) . $parse['path'];