$referer = $_SERVER['HTTP_REFERER'];
$preg = '/http:\/\/www.mydomain\.info\/.*?/i';
if( !preg_match($preg, $referer) ){
    Header("http/1.1 404 Not Found");
    exit();
}请问如何匹配所有的子域名?我现在这样只能匹配一个www开头的,如果bbs.mydomain.info就不能匹配了,求所有的mydomain.info的子域名也可以匹配

解决方案 »

  1.   

    这样行嘛?
    $preg = '/[a-z\:\/]+.mydomain.info.*/i';
      

  2.   

    正则:/[-a-z0-9]+(\.[-a-z0-9]+)*\.(com|edu|info)/
    示例代码:$domainName[1]="www.163.com";
    $domainName[2]="mail.163.info";
    $domainName[3]="bbs.mydomain.info";$regex= '/[-a-z0-9]+(\.[-a-z0-9]+)*\.(com|edu|info)/';foreach($domainName as $iter=>$domainStr) {
        $matchCorrectStr = preg_match($regex, $domainStr);
        echo "Result of match domain:".$iter .$matchCorrectStr;
    }解释:点分的url主机地址可以包含数字字母或者-号则表达式摘抄自《精通正则表达式》 余晟 电子工业出版社出版
      

  3.   

    $preg = '/(http:\/\/)?\w+\.mydomain\.info\.*/isU';