Dragooon, did you forget Android and Blackberry support?
// Load all the agents for smart phones.
// name of device, string to look for
$user_agents = array(
array('Opera Mini', isset($_SERVER['HTTP_X_OPERAMINI_PHONE_UA'])),
array('Opera Mobile', 'Opera Mobi'),
My Android phone identifies as none of those. And my own attempts at a solution haven't proved helpful. My Android user agent, though, shows up as:
Mozilla/5.0 (Linux: U; Android 1.6; en-us; T-Mobile G1 Build/DRC83) AppleWebKit/528.5+ (KTHML, like Gecko) Version/3.1.2 Mobile Safari/525.20.1
The 1.6, T-Mobile G1 Build/DRC83 parts are likely to change in various versions (especially considering the Droid/Milestone, Eris/Hero and Nexus One all running different versions from mine). Any way to capture just the "Android" portion?
Hope that helps.