Как оставить от текста ссылки только часть доменного имени

Пытаюсь сделать так, чтобы при вводе в форму https://site.ru или www.site.ru, https://site.ru/page1/page2 и тд., средствами php выводило только site.ru. Может это можно сделать путем каких-либо плагинов, например masked input или preg_match и регулярными выражениями. Только не совсем хорошо в этом разбираюсь. Заранее спасибо.


Ответы (1 шт):

Автор решения: InDevX
function getLink($url){
    if (substr($url, 0, 4) === 'www.') {
        $url = str_replace('www.', '//', $url);
    } else if (parse_url($url, PHP_URL_HOST) == null) {
        $url = "//".$url;
    }
    return parse_url($url, PHP_URL_HOST);
}

var_dump( getLink('http://stackoverflow.com/questions/36564293/extract-urls-from-a-string-using-php') );
var_dump( getLink('https://stackoverflow.com/questions/36564293/extract-urls-from-a-string-using-php') );
var_dump( getLink('www.stackoverflow.com/questions/36564293/extract-urls-from-a-string-using-php') );
var_dump( getLink('stackoverflow.com/questions/36564293/extract-urls-from-a-string-using-php') );
→ Ссылка