PHP:如何检测URL是否以'm。'开头?

时间:2012-11-02 04:13:22

标签: php

我使用CakePHP的内置方法$this->RequestHandler->isMobile()来检测移动设备,但是当我想使用桌面浏览器试用我的应用时,它无效。所以我使用以下代码,因为它的url以'm'开头。例如'm.mywebsite.com':

    <?php
    $url = explode('.', $_SERVER['SERVER_NAME']);
    if($url[0] == 'm'){
      echo "Welcome to our mobile version";
     }
    ?>

但不知何故,当在另一个具有子域地址的服务器上测试时,它也无法正常工作,例如'm.trial.mywebsite2.com'。这种网址还有其他更好的检测代码吗?

1 个答案:

答案 0 :(得分:2)

使用正则表达式,或者只是strpos()它。

// Regular Expression
if (preg_match('/^m\./', $_SERVER['SERVER_NAME']) {
}

// strpos()
if (0 === strpos($_SERVER['SERVER_NAME'], 'm.')) {
}

你的情况有点像$_SERVER['SERVER_NAME']中有问题,你应该给它一个检查。