<?php |
02 |
03 | function is_mobile(){ |
04 |
05 | // returns true if one of the specified mobile browsers is detected |
06 |
07 | $regex_match = "/(nokia|iphone|android|motorola|^mot\-|softbank|foma|docomo|kddi|up\.browser|up\.link|" ; |
08 | $regex_match .= "htc|dopod|blazer|netfront|helio|hosin|huawei|novarra|CoolPad|webos|techfaith|palmsource|" ; |
09 | $regex_match .= "blackberry|alcatel|amoi|ktouch|nexian|samsung|^sam\-|s[cg]h|^lge|ericsson|philips|sagem|wellcom|bunjalloo|maui|" ; |
10 | $regex_match .= "symbian|smartphone|midp|wap|phone|windows ce|iemobile|^spice|^bird|^zte\-|longcos|pantech|gionee|^sie\-|portalmmm|" ; |
11 | $regex_match .= "jig\s browser|hiptop|^ucweb|^benq|haier|^lct|opera\s*mobi|opera\*mini|320x320|240x320|176x220" ; |
12 | $regex_match .= ")/i" ; |
13 | return isset( $_SERVER [ 'HTTP_X_WAP_PROFILE' ]) or isset( $_SERVER [ 'HTTP_PROFILE' ]) or preg_match( $regex_match , strtolower ( $_SERVER [ 'HTTP_USER_AGENT' ])); |
14 | } |
15 |
16 | /* |
17 | allow the user a way to force either the full or mobile versions of the site - use a GET parameter on requests: |
18 |
19 | include likes to both versions of the site w/ the special force mode parameters, 'mobile' and 'full': |
20 |
21 | <a href="http://www.example.org/?mobile">View Mobile Site</a> |
22 | <a href="http://www.example.org/?full">View Full Site</a> |
23 |
24 | Always check for 'mobile' or 'full' parameters before accounting for any User-Agent conditions: |
25 | */ |
26 |
27 | if ( $_GET [ 'mobile' ]) { |
28 | $is_mobile = true; |
29 | } |
30 | |
31 | if ( $_GET [ 'full' ]) { |
32 | $is_mobile = false; |
33 | } |
34 | if ( $is_mobile ) { |
35 | //it's a mobile browser, do something |
36 | header( "Location: http://www.yoursite.com/mobile" ); |
37 | } else { |
38 | //it's not a mobile browser, do something else |
39 | header( "Location: http://www.yoursite.com/desktop" ); |
40 | // or instead of a redirect, simply build html below |
41 | } |
42 |
43 | ?> |