Php etki karşılaştır

2 Cevap

I wrote a small script that provided a URL (For example: code.google.com/ajax/123/1235/214) Would tell you that the actual domain is: code.google.com

When this is compared to code.google.com it return true of course, i want it to return true when it is compared to (anything).google.com So, i want it to return true whenever the actual domain is the same regardless of the subdomain, how to do that?

(Bu nedenle mümkün olduğunca çok yardım lütfen ben üzerinde çalışıyorum bir proje için, bir ev ödevi soru değil)

(Eğer sorunu anlamak için daha fazla bilgiye ihtiyacınız varsa, bir yorum yazmak ve ben hemen daha fazla bilgi sağlayacaktır lütfen)

2 Cevap

Bir parse_url to extract the host sizin URL bölümü (that's probably the easiest way to get that information) gibi bir şey kullanmak olabilir.

Ardından, explode that host, using '. 'ayırıcı olarak, URL (for instance, you'd have array('code', 'google', 'com')) bileşenlerini içeren bir dizisini almak için olabilir

Ve son olarak, sadece her bir URL için sahip dizinin son iki öğe karşılaştırmak.

Bu şekilde, ikinci URL'den bilgiler ile 'google' ve 'com' karşılaştırmak istiyorum.


I suppose just using a couple of (simpler) string comparisons might work in some cases ; but don't forget cases like 'www.mywebsite.com' and 'subdomain.website.com' -- just an example to show that comparing end of domain names is not enough ^^

Bazı hata denetimi kullanabilirsiniz ama böyle bir şey yapabilirsiniz:

<?php

function url_belongs_to_domain($url, $domain){
    $url_domain = parse_url($url, PHP_URL_HOST);

    return preg_match('/' . preg_quote($domain, '/') . '$/i', $url_domain)==1;
}

var_dump( url_belongs_to_domain('http://code.google.com/ajax/123/1235/214', 'google.com') );
var_dump( url_belongs_to_domain('http://code.google.com/ajax/123/1235/214', 'code.google.com') );
var_dump( url_belongs_to_domain('http://code.google.com/ajax/123/1235/214', 'www.google.com') );
var_dump( url_belongs_to_domain('http://www.google.com/ajax/123/1235/214', 'google.com') );
var_dump( url_belongs_to_domain('http://www.google.com/ajax/123/1235/214', 'code.google.com') );
var_dump( url_belongs_to_domain('http://www.google.com/ajax/123/1235/214', 'www.google.com') );

?>

bool(true)
bool(true)
bool(false)
bool(true)
bool(false)
bool(true)

Herhangi bir kural takip olmadığından üst düzey etki alanları doğru tespiti bir liste karşı kontrol gerektirir farkında olun: Giriş www.google.com o www.google.co.uk in, google.com olduğunu olduğu google.co.uk.