![Karen161](https://vmapp.org/images/player/000default.jpg)
: Detecting Android tablets vs phones with User Agent I inherited a site that has PHP code that decides to either serve the dedicated mobile site or desktop site to the user. I would prefer that
I inherited a site that has PHP code that decides to either serve the dedicated mobile site or desktop site to the user.
I would prefer that tablets get served the mobile site. Currently Android tablet users get served the desktop site.
I'd like to figure out how I can implement User Agent to detect an android tablet (with distinction from an Android phone)
This is the code I'm working with to determine which site to serve (mobile or desktop)
if ((strpos($user_agent, 'Mobile') === false && // Generic mobile browser string, most browsers have it.
strpos($user_agent, 'SymbianOS') === false && // Nokia device running Symbian OS.
strpos($user_agent, 'Opera M') === false && // Opera Mini or Opera Mobile.
strpos($user_agent, 'Android') === false && // Android devices that don't have 'Mobile' in UA string.
stripos($user_agent, 'HTC_') === false && // HTC devices that don't have 'Mobile' nor 'Android' in UA string. Case insensitive.
strpos($user_agent, 'Fennec/') === false && // Firefox mobile
strpos($user_agent, 'Kindle') === false && // Kindle Fire tablet
strpos($user_agent, 'BlackBerry') === false) || // BlackBerry
strpos($user_agent, 'iPad') === false) // iPad
{
// Serve Desktop Site
return false;
}
More posts by @Karen161
1 Comments
Sorted by latest first Latest Oldest Best
The identification your script is doing is blind, what I mean is that is trying to look just for that words inside the UA string in order to get the value and redirect the user.
There are much more advanced libraries available for Free that will allow you to more correctly identify your users.
I've used this one in the past with good results: mobiledetect.net/
They identify themselves as "The lightweight PHP class for detecting mobile devices (including tablets)." so this should solve your problem.
This library gives you the property isTablet -> yes/no, which can help you identify the devices you want and redirect them accordingly.
While doing my search I also found this one that also seems fine.
Terms of Use Create Support ticket Your support tickets Stock Market News! © vmapp.org2025 All Rights reserved.