#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'];