php检查域是否等于值,然后执行操作

mrp*_*atg 2 php

我需要获取一个包含URL的变量,并检查域是否等于某个域,如果是,则回显一个变量,如果不是,则回显另一个变量.

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

我不知道如何写第二行检查域,看看$ domain是否包含if语句中的url.

Pao*_*ino 14

这是通过使用parse_url:

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

  • 自制的正则表达式如何比PHP内置的更强大? (6认同)

Sam*_*son 7

稍微更高级的域名查找功能.

$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}\.[a-z\.]{2,6})$/i', $domain, $regs)) {
        return $regs['domain'];
    }
    return false;
}
Run Code Online (Sandbox Code Playgroud)