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;

1 Answer 1


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: http://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.


Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.