URL ayrıştırma işlevi

4 Cevap php

Bu değişken göz önüne alındığında:

$variable = foo.com/bar/foo

Ne işlevi foo.com için $ değişken Döşeme istiyorsunuz?

Düzenleme: Ben işlevi muhtemelen alan adından sonra gelebilir bir URL şey Döşeme edebilmek olmak istiyorum.

Teşekkür peşin,

John

4 Cevap

Working for OP:

$host = parse_url($url, PHP_URL_HOST);

Ben çalışmak zorunda PHP sürümü iki parametre (Zend Engine 1.3.0) kabul etmez. Ne olursa olsun. İşte benim için çalışan kod - Eğer full URL düzeni (http://) dahil olması gerekiyor. Eğer güvenli bir düzeni http:// (ve https:// ya da başka bir şey değil), sadece ihtiyacınız olanı almak için bu prepend olabilir varsayabiliriz.

Working for me:

$url = 'http://foo.com/bar/foo';

$parts = parse_url($url);
$host = $parts['host'];

echo "The host is $host\n";

Benim örnekte http://www.google.com/asdf istimal

Siz de alt alan adını alma ile iyi iseniz, "/ /" ile bölünmüş ve etkili bir protokol kaldırmak ve almak için 1th eleman alabilir www.google.com/asdf

Daha sonra "/" ile bölünmüş ve 0. elemanı alabilirsiniz.

Bu çirkin görünüyor. Sadece burada beyin fırtınası =)

Bu deneyin:

function getDomain($url)
{
    if(filter_var($url, FILTER_VALIDATE_URL, FILTER_FLAG_HOST_REQUIRED) === FALSE)
    {
        return false;
    }
    /*** get the url parts ***/
    $parts = parse_url($url);
    /*** return the host domain ***/
    return $parts['scheme'].'://'.$parts['host'];
}

$variable = 'foo.com/bar/foo';
echo getDomain($variable);

Sen hostname almak için php parse_url işlevini kullanın ve sonra anahtar "ana" değerini erişebilirsiniz