php проверить, равна ли домену значению, затем выполнить действие

Мне нужно взять переменную, содержащую URL-адрес, и проверить, соответствует ли домен определенному домену, если это так, echo одна переменная, если нет, echo another.

$domain = "http://www.google.com/docs"; if ($domain == google.com) { echo "yes"; } else { echo "no"; } 

Я не уверен, как написать вторую строку, где он проверяет домен, чтобы узнать, содержит ли $ domain url в выражении if.

Это делается с помощью parse_url :

 $host = parse_url($domain, PHP_URL_HOST); if($host == 'www.google.com') { // do something } 

Немного более продвинутая функция поиска домена.

 $address = "http://www.google.com/apis/jquery"; if (get_domain($address) == "google.com") { print "Yes."; } function get_domain($url) { $pieces = parse_url($url); $domain = isset($pieces['host']) ? $pieces['host'] : ''; if (preg_match('/(?P<domain>[a-z0-9][a-z0-9\-]{1,63}\.[az\.]{2,6})$/i', $domain, $regs)) { return $regs['domain']; } return false; } 

В дополнение к другим ответам вы можете использовать регулярное выражение, подобное этому, которое ищет google.com в доменном имени

 $domain = "http://www.google.com/docs"; if (preg_match('{^http://[\w\.]*google.com/}i', $domain)) { } 

Вы пробовали parse_url () ?

Обратите внимание, что вы также можете explode() результирующий домен в '.' , в зависимости от того, что вы подразумеваете под «доменом».

Вы можете использовать функцию parse_url для разделения URL-адреса на отдельные части (протокол / хост / путь / строка запроса / etc). Если вы также хотите, чтобы http://www.google.com являлся синонимом для google.com, вам нужно добавить дополнительную проверку подстроки (с помощью substr), которая гарантирует, что последняя часть узла соответствует домену, который вы находясь в поиске.