PHP: удалить 'www' из URL внутри строки
Вопрос
В настоящее время я использую Parse_url, однако элемент хоста массива также включает в себя часть «www», которую я не хочу. Как я бы снял это?
$parse = parse_url($url);
print_r($parse);
$url = $parse['host'] . $parse['path'];
echo $url;
Решение
$url = preg_replace('#^www\.(.+\.)#i', '$1', $parse['host']) . $parse['path'];
Это не удалит www
в www.com
, но www.www.com
приводит к www.com
.
Другие советы
preg_replace('#^(http(s)?://)?w{3}\.#', '$1', $url);
Если вам не нужен префикс протокола, оставьте второй параметр пустым
$url = preg_replace('/^www\./i', '', $parse['host']) . $parse['path'];
str_ireplace('www.','',$parse['host']);
Не связан с StackOverflow