Revision: 41000
Updated Code
at April 4, 2011 08:46 by beneberle
Updated Code
<?php function is_mobile(){ // returns true if one of the specified mobile browsers is detected $regex_match="/(nokia|iphone|android|motorola|^mot\-|softbank|foma|docomo|kddi|up\.browser|up\.link|"; $regex_match.="htc|dopod|blazer|netfront|helio|hosin|huawei|novarra|CoolPad|webos|techfaith|palmsource|"; $regex_match.="blackberry|alcatel|amoi|ktouch|nexian|samsung|^sam\-|s[cg]h|^lge|ericsson|philips|sagem|wellcom|bunjalloo|maui|"; $regex_match.="symbian|smartphone|midp|wap|phone|windows ce|iemobile|^spice|^bird|^zte\-|longcos|pantech|gionee|^sie\-|portalmmm|"; $regex_match.="jig\s browser|hiptop|^ucweb|^benq|haier|^lct|opera\s*mobi|opera\*mini|320x320|240x320|176x220"; $regex_match.=")/i"; return isset($_SERVER['HTTP_X_WAP_PROFILE']) or isset($_SERVER['HTTP_PROFILE']) or preg_match($regex_match, strtolower($_SERVER['HTTP_USER_AGENT'])); } /* allow the user a way to force either the full or mobile versions of the site - use a GET parameter on requests: include links to both versions of the site w/ the special force mode parameters, 'mobile' and 'full': <a href="http://www.example.org/?mobile">View Mobile Site</a> <a href="http://www.example.org/?full">View Full Site</a> Always check for 'mobile' or 'full' parameters before accounting for any User-Agent conditions: */ if ($_GET['mobile']) { $is_mobile = true; } if ($_GET['full']) { $is_mobile = false; } if($is_mobile) { //it's a mobile browser, do something header("Location: http://www.yoursite.com/mobile"); } else { //it's not a mobile browser, do something else header("Location: http://www.yoursite.com/desktop"); // or instead of a redirect, simply build html below } ?>
Revision: 40999
Initial Code
Initial URL
Initial Description
Initial Title
Initial Tags
Initial Language
at February 10, 2011 16:02 by beneberle
Initial Code
<?php function is_mobile(){ // returns true if one of the specified mobile browsers is detected $regex_match="/(nokia|iphone|android|motorola|^mot\-|softbank|foma|docomo|kddi|up\.browser|up\.link|"; $regex_match.="htc|dopod|blazer|netfront|helio|hosin|huawei|novarra|CoolPad|webos|techfaith|palmsource|"; $regex_match.="blackberry|alcatel|amoi|ktouch|nexian|samsung|^sam\-|s[cg]h|^lge|ericsson|philips|sagem|wellcom|bunjalloo|maui|"; $regex_match.="symbian|smartphone|midp|wap|phone|windows ce|iemobile|^spice|^bird|^zte\-|longcos|pantech|gionee|^sie\-|portalmmm|"; $regex_match.="jig\s browser|hiptop|^ucweb|^benq|haier|^lct|opera\s*mobi|opera\*mini|320x320|240x320|176x220"; $regex_match.=")/i"; return isset($_SERVER['HTTP_X_WAP_PROFILE']) or isset($_SERVER['HTTP_PROFILE']) or preg_match($regex_match, strtolower($_SERVER['HTTP_USER_AGENT'])); } /* allow the user a way to force either the full or mobile versions of the site - use a GET parameter on requests: include likes to both versions of the site w/ the special force mode parameters, 'mobile' and 'full': <a href="http://www.example.org/?mobile">View Mobile Site</a> <a href="http://www.example.org/?full">View Full Site</a> Always check for 'mobile' or 'full' parameters before accounting for any User-Agent conditions: */ if ($_GET['mobile']) { $is_mobile = true; } if ($_GET['full']) { $is_mobile = false; } if($is_mobile) { //it's a mobile browser, do something header("Location: http://www.yoursite.com/mobile"); } else { //it's not a mobile browser, do something else header("Location: http://www.yoursite.com/desktop"); // or instead of a redirect, simply build html below } ?>
Initial URL
http://mobiforge.com/developing/story/lightweight-device-detection-php
Initial Description
Though an old post, this is my solution that's been pieced together from various comments on the article linked above.
Initial Title
Simple User Agent (Mobile and Smartphone) Detection and Redirction with PHP
Initial Tags
php, redirect, mobile, iphone, ios
Initial Language
PHP