<?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://blog.xhbin.com/?mobile">View Mobile Site</a>
22.
<a href="http://blog.xhbin.com/?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://blog.xhbin.com/mobile"
);
37.
}
else
{
38.
//it's not a mobile browser, do something else
39.
header(
"Location: http://blog.xhbin.com/desktop"
);
40.
// or instead of a redirect, simply build html below
41.
}
42.
43.
?>