Удаление URL с preg_replace

0

Мне нужно было снять

http://www. 

от имени домена, а также всего, что следует за ним, например

/example 

так что я просто останусь с yourdomain.com

Я добавил следующий код в файл:

$domain = HTTP_SERVER;
$domain_name = preg_replace('/^https?:\/\/(?:www\.)?/i', '', $domain);

Но если я echo $ domain_name, я все равно получаю URL-адрес, например, yourdomain.com/testsite

Может ли кто-нибудь увидеть, что я сделал неправильно здесь, поскольку он не удалил /testsite, и я подумал, что у меня все получилось.

  • 0
    Таким образом, вы хотите только yourdomain.com?
  • 1
    Попробуйте: print_r(parse_url($url)); это делает трюк для вас? Я думаю, вы хотите, чтобы хост из этого массива был прав ?!
Показать ещё 2 комментария
Теги:
preg-replace

2 ответа

2
Лучший ответ

использовать это

$url = 'http://www.example.co.uk/directory/level1/last/page.html'; 
$parse= parse_url($url); 
preg_match ("/\.([^\/]+)/", $parse['host'], $mydomain); 
echo $mydomain[1]; 
  • 0
    Попробовал это, и хотя после .com ничего не падает, он оставляет меня с www. предшествующий URL. У меня должно быть одно доменное имя.
  • 0
    Хорошая попытка, но измените URL так, чтобы он был доменным именем .co.uk, а не .com - приводит к выводу .co.uk.
Показать ещё 3 комментария
0

Это может быть взлом, с которым кто-то не согласен, но я решил проблему, используя следующий код.

$url = HTTP_SERVER;
$parse = parse_url($url);
$domain = $parse['host'];
$domain_name = preg_replace('/(?:www\.)?/i', '', $domain);
echo $domain_name;

Если вы видите причину, почему это не должно использоваться, пожалуйста, сообщите мне. Всегда что-то новое, чтобы узнать :)

Ещё вопросы

Сообщество Overcoder
Наверх
Меню