Самый простой способ обнаружения мобильного устройства
Как проще всего определить, использует ли пользователь мобильное устройство для просмотра моего сайта с помощью PHP?
Я сталкивался со многими классами, которые вы можете использовать, но я надеялся на простое условие if!
Есть ли способ, которым я могу это сделать?
14 ответов:
Вот источник:
Код:
<?php $useragent=$_SERVER['HTTP_USER_AGENT']; if(preg_match('/(android|bb\d+|meego).+mobile|avantgo|bada\/|blackberry|blazer|compal|elaine|fennec|hiptop|iemobile|ip(hone|od)|iris|kindle|lge |maemo|midp|mmp|netfront|opera m(ob|in)i|palm( os)?|phone|p(ixi|re)\/|plucker|pocket|psp|series(4|6)0|symbian|treo|up\.(browser|link)|vodafone|wap|windows (ce|phone)|xda|xiino/i',$useragent)||preg_match('/1207|6310|6590|3gso|4thp|50[1-6]i|770s|802s|a wa|abac|ac(er|oo|s\-)|ai(ko|rn)|al(av|ca|co)|amoi|an(ex|ny|yw)|aptu|ar(ch|go)|as(te|us)|attw|au(di|\-m|r |s )|avan|be(ck|ll|nq)|bi(lb|rd)|bl(ac|az)|br(e|v)w|bumb|bw\-(n|u)|c55\/|capi|ccwa|cdm\-|cell|chtm|cldc|cmd\-|co(mp|nd)|craw|da(it|ll|ng)|dbte|dc\-s|devi|dica|dmob|do(c|p)o|ds(12|\-d)|el(49|ai)|em(l2|ul)|er(ic|k0)|esl8|ez([4-7]0|os|wa|ze)|fetc|fly(\-|_)|g1 u|g560|gene|gf\-5|g\-mo|go(\.w|od)|gr(ad|un)|haie|hcit|hd\-(m|p|t)|hei\-|hi(pt|ta)|hp( i|ip)|hs\-c|ht(c(\-| |_|a|g|p|s|t)|tp)|hu(aw|tc)|i\-(20|go|ma)|i230|iac( |\-|\/)|ibro|idea|ig01|ikom|im1k|inno|ipaq|iris|ja(t|v)a|jbro|jemu|jigs|kddi|keji|kgt( |\/)|klon|kpt |kwc\-|kyo(c|k)|le(no|xi)|lg( g|\/(k|l|u)|50|54|\-[a-w])|libw|lynx|m1\-w|m3ga|m50\/|ma(te|ui|xo)|mc(01|21|ca)|m\-cr|me(rc|ri)|mi(o8|oa|ts)|mmef|mo(01|02|bi|de|do|t(\-| |o|v)|zz)|mt(50|p1|v )|mwbp|mywa|n10[0-2]|n20[2-3]|n30(0|2)|n50(0|2|5)|n7(0(0|1)|10)|ne((c|m)\-|on|tf|wf|wg|wt)|nok(6|i)|nzph|o2im|op(ti|wv)|oran|owg1|p800|pan(a|d|t)|pdxg|pg(13|\-([1-8]|c))|phil|pire|pl(ay|uc)|pn\-2|po(ck|rt|se)|prox|psio|pt\-g|qa\-a|qc(07|12|21|32|60|\-[2-7]|i\-)|qtek|r380|r600|raks|rim9|ro(ve|zo)|s55\/|sa(ge|ma|mm|ms|ny|va)|sc(01|h\-|oo|p\-)|sdk\/|se(c(\-|0|1)|47|mc|nd|ri)|sgh\-|shar|sie(\-|m)|sk\-0|sl(45|id)|sm(al|ar|b3|it|t5)|so(ft|ny)|sp(01|h\-|v\-|v )|sy(01|mb)|t2(18|50)|t6(00|10|18)|ta(gt|lk)|tcl\-|tdg\-|tel(i|m)|tim\-|t\-mo|to(pl|sh)|ts(70|m\-|m3|m5)|tx\-9|up(\.b|g1|si)|utst|v400|v750|veri|vi(rg|te)|vk(40|5[0-3]|\-v)|vm40|voda|vulc|vx(52|53|60|61|70|80|81|83|85|98)|w3c(\-| )|webc|whit|wi(g |nc|nw)|wmlb|wonu|x700|yas\-|your|zeto|zte\-/i',substr($useragent,0,4))) header('Location: http://detectmobilebrowser.com/mobile'); ?>
Я написал этот скрипт для обнаружения мобильного браузера на PHP.
Код обнаруживает пользователя на основе строки user-agent с помощью preg_match () ing слов, которые находятся только в строках user-agent мобильных устройств после сотен тестов. Он имеет 100% точность на всех текущих мобильных устройствах, и я в настоящее время обновляю его, чтобы поддерживать больше мобильных устройств, как они выходят. Код называется isMobile и выглядит следующим образом:
function isMobile() { return preg_match("/(android|avantgo|blackberry|bolt|boost|cricket|docomo|fone|hiptop|mini|mobi|palm|phone|pie|tablet|up\.browser|up\.link|webos|wos)/i", $_SERVER["HTTP_USER_AGENT"]); }Вы можете использовать его следующим образом:
// Use the function if(isMobile()){ // Do something for only mobile users } else { // Do something for only desktop users }Чтобы перенаправить a пользователь вашего мобильного сайта, я бы сделал это:
Дайте мне знать, если у вас есть какие-либо вопросы и удачи!// Create the function, so you can use it function isMobile() { return preg_match("/(android|avantgo|blackberry|bolt|boost|cricket|docomo|fone|hiptop|mini|mobi|palm|phone|pie|tablet|up\.browser|up\.link|webos|wos)/i", $_SERVER["HTTP_USER_AGENT"]); } // If the user is on a mobile device, redirect them if(isMobile()){ header("Location: http://m.yoursite.com/"); }
Я нашел mobile detect очень простым, и вы можете просто использовать функцию
isMobile():)
Нет надежного способа. Возможно, вы можете посмотреть на строку user-agent, но ее можно подделать или опустить. Кроме того, вы можете использовать сервис GeoIP для поиска IP-адреса клиента, но опять же, это можно легко обойти.
До сих пор я задавался вопросом, почему кто-то не опубликовал небольшое изменение принятого ответа на использование
implode()для того, чтобы иметь лучшую читабельность кода. Итак, вот оно:<?php $uaFull = strtolower($_SERVER['HTTP_USER_AGENT']); $uaStart = substr($uaFull, 0, 4); $uaPhone = [ // use `= array(` if PHP<5.4 '(android|bb\d+|meego).+mobile', 'avantgo', 'bada\/', 'blackberry', 'blazer', 'compal', 'elaine', 'fennec', 'hiptop', 'iemobile', 'ip(hone|od)', 'iris', 'kindle', 'lge ', 'maemo', 'midp', 'mmp', 'mobile.+firefox', 'netfront', 'opera m(ob|in)i', 'palm( os)?', 'phone', 'p(ixi|re)\/', 'plucker', 'pocket', 'psp', 'series(4|6)0', 'symbian', 'treo', 'up\.(browser|link)', 'vodafone', 'wap', 'windows ce', 'xda', 'xiino' ]; // use `);` if PHP<5.4 $uaMobile = [ // use `= array(` if PHP<5.4 '1207', '6310', '6590', '3gso', '4thp', '50[1-6]i', '770s', '802s', 'a wa', 'abac|ac(er|oo|s\-)', 'ai(ko|rn)', 'al(av|ca|co)', 'amoi', 'an(ex|ny|yw)', 'aptu', 'ar(ch|go)', 'as(te|us)', 'attw', 'au(di|\-m|r |s )', 'avan', 'be(ck|ll|nq)', 'bi(lb|rd)', 'bl(ac|az)', 'br(e|v)w', 'bumb', 'bw\-(n|u)', 'c55\/', 'capi', 'ccwa', 'cdm\-', 'cell', 'chtm', 'cldc', 'cmd\-', 'co(mp|nd)', 'craw', 'da(it|ll|ng)', 'dbte', 'dc\-s', 'devi', 'dica', 'dmob', 'do(c|p)o', 'ds(12|\-d)', 'el(49|ai)', 'em(l2|ul)', 'er(ic|k0)', 'esl8', 'ez([4-7]0|os|wa|ze)', 'fetc', 'fly(\-|_)', 'g1 u', 'g560', 'gene', 'gf\-5', 'g\-mo', 'go(\.w|od)', 'gr(ad|un)', 'haie', 'hcit', 'hd\-(m|p|t)', 'hei\-', 'hi(pt|ta)', 'hp( i|ip)', 'hs\-c', 'ht(c(\-| |_|a|g|p|s|t)|tp)', 'hu(aw|tc)', 'i\-(20|go|ma)', 'i230', 'iac( |\-|\/)', 'ibro', 'idea', 'ig01', 'ikom', 'im1k', 'inno', 'ipaq', 'iris', 'ja(t|v)a', 'jbro', 'jemu', 'jigs', 'kddi', 'keji', 'kgt( |\/)', 'klon', 'kpt ', 'kwc\-', 'kyo(c|k)', 'le(no|xi)', 'lg( g|\/(k|l|u)|50|54|\-[a-w])', 'libw', 'lynx', 'm1\-w', 'm3ga', 'm50\/', 'ma(te|ui|xo)', 'mc(01|21|ca)', 'm\-cr', 'me(rc|ri)', 'mi(o8|oa|ts)', 'mmef', 'mo(01|02|bi|de|do|t(\-| |o|v)|zz)', 'mt(50|p1|v )', 'mwbp', 'mywa', 'n10[0-2]', 'n20[2-3]', 'n30(0|2)', 'n50(0|2|5)', 'n7(0(0|1)|10)', 'ne((c|m)\-|on|tf|wf|wg|wt)', 'nok(6|i)', 'nzph', 'o2im', 'op(ti|wv)', 'oran', 'owg1', 'p800', 'pan(a|d|t)', 'pdxg', 'pg(13|\-([1-8]|c))', 'phil', 'pire', 'pl(ay|uc)', 'pn\-2', 'po(ck|rt|se)', 'prox', 'psio', 'pt\-g', 'qa\-a', 'qc(07|12|21|32|60|\-[2-7]|i\-)', 'qtek', 'r380', 'r600', 'raks', 'rim9', 'ro(ve|zo)', 's55\/', 'sa(ge|ma|mm|ms|ny|va)', 'sc(01|h\-|oo|p\-)', 'sdk\/', 'se(c(\-|0|1)|47|mc|nd|ri)', 'sgh\-', 'shar', 'sie(\-|m)', 'sk\-0', 'sl(45|id)', 'sm(al|ar|b3|it|t5)', 'so(ft|ny)', 'sp(01|h\-|v\-|v )', 'sy(01|mb)', 't2(18|50)', 't6(00|10|18)', 'ta(gt|lk)', 'tcl\-', 'tdg\-', 'tel(i|m)', 'tim\-', 't\-mo', 'to(pl|sh)', 'ts(70|m\-|m3|m5)', 'tx\-9', 'up(\.b|g1|si)', 'utst', 'v400', 'v750', 'veri', 'vi(rg|te)', 'vk(40|5[0-3]|\-v)', 'vm40', 'voda', 'vulc', 'vx(52|53|60|61|70|80|81|83|85|98)', 'w3c(\-| )', 'webc', 'whit', 'wi(g |nc|nw)', 'wmlb', 'wonu', 'x700', 'yas\-', 'your', 'zeto', 'zte\-' ]; // use `);` if PHP<5.4 $isPhone = preg_match('/' . implode($uaPhone, '|') . '/i', $uaFull); $isMobile = preg_match('/' . implode($uaMobile, '|') . '/i', $uaStart); if($isPhone || $isMobile) { // do something with that device } else { // process normally }
function isMobileDev(){ if(isset($_SERVER['HTTP_USER_AGENT']) and !empty($_SERVER['HTTP_USER_AGENT'])){ $user_ag = $_SERVER['HTTP_USER_AGENT']; if(preg_match('/(Mobile|Android|Tablet|GoBrowser|[0-9]x[0-9]*|uZardWeb\/|Mini|Doris\/|Skyfire\/|iPhone|Fennec\/|Maemo|Iris\/|CLDC\-|Mobi\/)/uis',$user_ag)){ return true; }else{ return false; }; }else{ return false; }; }
Просто вы можете перейти по ссылке. его очень просто и очень легко использовать. Я использую это. Он работает нормально.
Используйте вот так
//include the file require_once 'Mobile_Detect.php'; $detect = new Mobile_Detect; // Any mobile device (phones or tablets). if ( $detect->isMobile() ) { //do some code } // Any tablet device. if( $detect->isTablet() ){ //do some code }
Обнаружение устройств PHP от 51Degrees.com делает именно то, что вы хотите - обнаруживает мобильные устройства и различные свойства, связанные с обнаруженными устройствами. Он прост в использовании и не требует обслуживания. Настройка выполняется в 4 простых шага:
Детектор устройств 51Degrees не использует регулярные выражения для обнаружения. Для сопоставления устройств используются только важные части заголовков HTTP. Что делает это решение самым быстрым (5 000 000 обнаружений в секунду на посредственном оборудовании) и самым точным (точность 99,97%), поскольку сотни новых устройств добавляются в базу данных еженедельно (поддерживаемые типы устройств включают консоли, смарт-телевизоры, электронные ридеры, планшеты и многое другое). Программное обеспечение с открытым исходным кодом распространяется под лицензией Mozilla Public License 2 и совместимо с коммерческими и открытыми проектами. В качестве бонуса решение 51Degrees также содержит дополнительныйPHP Image Optimizer , который может автоматически изменять размер изображений для мобильных устройств. По умолчанию 51degrees PHP device detector использует файл Lite data, который является бесплатным и содержит более 30000 устройств и 50 свойств для каждого устройства. Файл Lite обновляется один раз в 3 месяца. Если вы хотите иметь более высокий уровень детализации запроса мобильных устройств, а затем доступны файлы данных Premium и Enterprise. Премиум содержит более 70000 устройств и 100 свойств для каждого устройства с еженедельными обновлениями. Предприятие обновляется ежедневно и содержит более 150000 устройств со 150 свойствами для каждого.
- загрузите Zip-файл из http://sourceforge.net/projects/fiftyone/.
- распакуйте файл в директорию на вашем PHP сервере.
- затем добавьте следующий код на вашу страницу PHP:
require_once 'path/to/core/51Degrees.php'; require_once 'path/to/core/51Degrees_usage.php';- все доступные устройства информация будет содержаться в массиве $_51d:
if ($_51d['IsMobile']) { //Start coding for a mobile device here. }
Вам нужно только включить
user_agent.phpфайл, который можно найти на страницеMobile device detection in PHP и использовать следующий код.<?php //include file include_once 'user_agent.php'; //create an instance of UserAgent class $ua = new UserAgent(); //if site is accessed from mobile, then redirect to the mobile site. if($ua->is_mobile()){ header("Location:http://m.codexworld.com"); exit; } ?>
Вы также можете использовать сторонний api для обнаружения устройств через строку агента пользователя. Одной из таких услуг является www.useragentinfo.co . просто зарегистрируйтесь и получите свой API-токен, а ниже показано, как вы получаете информацию об устройстве с помощью PHP:
<?php $useragent = $_SERVER['HTTP_USER_AGENT']; // get api token at https://www.useragentinfo.co/ $token = "<api-token>"; $url = "https://www.useragentinfo.co/api/v1/device/"; $data = array('useragent' => $useragent); $headers = array(); $headers[] = "Content-type: application/json"; $headers[] = "Authorization: Token " . $token; $curl = curl_init($url); curl_setopt($curl, CURLOPT_HEADER, false); curl_setopt($curl, CURLOPT_RETURNTRANSFER, true); curl_setopt($curl, CURLOPT_HTTPHEADER, $headers); curl_setopt($curl, CURLOPT_POST, true); curl_setopt($curl, CURLOPT_POSTFIELDS, json_encode($data)); $json_response = curl_exec($curl); $status = curl_getinfo($curl, CURLINFO_HTTP_CODE); if ($status != 200 ) { die("Error: call to URL $url failed with status $status, response $json_response, curl_error " . curl_error($curl) . ", curl_errno " . curl_errno($curl)); } curl_close($curl); echo $json_response; ?>А вот пример ответа, если посетитель использует iPhone:
{ "device_type":"SmartPhone", "browser_version":"5.1", "os":"iOS", "os_version":"5.1", "device_brand":"Apple", "bot":false, "browser":"Mobile Safari", "device_model":"iPhone" }
function isMobile(){ if(defined(isMobile))return isMobile; @define(isMobile,(!($HUA=@trim(@$_SERVER['HTTP_USER_AGENT']))?0: ( preg_match('/(android|bb\d+|meego).+mobile|silk|avantgo|bada\/|blackberry|blazer|compal|elaine|fennec|hiptop|iemobile|ip(hone|od)|iris|kindle|lge |maemo|midp|mmp|netfront|opera m(ob|in)i|palm( os)?|phone|p(ixi|re)\/|plucker|pocket|psp|series(4|6)0|symbian|treo|up\.(browser|link)|vodafone|wap|windows (ce|phone)|xda|xiino/i' ,$HUA) || preg_match('/1207|6310|6590|3gso|4thp|50[1-6]i|770s|802s|a wa|abac|ac(er|oo|s\-)|ai(ko|rn)|al(av|ca|co)|amoi|an(ex|ny|yw)|aptu|ar(ch|go)|as(te|us)|attw|au(di|\-m|r |s )|avan|be(ck|ll|nq)|bi(lb|rd)|bl(ac|az)|br(e|v)w|bumb|bw\-(n|u)|c55\/|capi|ccwa|cdm\-|cell|chtm|cldc|cmd\-|co(mp|nd)|craw|da(it|ll|ng)|dbte|dc\-s|devi|dica|dmob|do(c|p)o|ds(12|\-d)|el(49|ai)|em(l2|ul)|er(ic|k0)|esl8|ez([4-7]0|os|wa|ze)|fetc|fly(\-|_)|g1 u|g560|gene|gf\-5|g\-mo|go(\.w|od)|gr(ad|un)|haie|hcit|hd\-(m|p|t)|hei\-|hi(pt|ta)|hp( i|ip)|hs\-c|ht(c(\-| |_|a|g|p|s|t)|tp)|hu(aw|tc)|i\-(20|go|ma)|i230|iac( |\-|\/)|ibro|idea|ig01|ikom|im1k|inno|ipaq|iris|ja(t|v)a|jbro|jemu|jigs|kddi|keji|kgt( |\/)|klon|kpt |kwc\-|kyo(c|k)|le(no|xi)|lg( g|\/(k|l|u)|50|54|\-[a-w])|libw|lynx|m1\-w|m3ga|m50\/|ma(te|ui|xo)|mc(01|21|ca)|m\-cr|me(rc|ri)|mi(o8|oa|ts)|mmef|mo(01|02|bi|de|do|t(\-| |o|v)|zz)|mt(50|p1|v )|mwbp|mywa|n10[0-2]|n20[2-3]|n30(0|2)|n50(0|2|5)|n7(0(0|1)|10)|ne((c|m)\-|on|tf|wf|wg|wt)|nok(6|i)|nzph|o2im|op(ti|wv)|oran|owg1|p800|pan(a|d|t)|pdxg|pg(13|\-([1-8]|c))|phil|pire|pl(ay|uc)|pn\-2|po(ck|rt|se)|prox|psio|pt\-g|qa\-a|qc(07|12|21|32|60|\-[2-7]|i\-)|qtek|r380|r600|raks|rim9|ro(ve|zo)|s55\/|sa(ge|ma|mm|ms|ny|va)|sc(01|h\-|oo|p\-)|sdk\/|se(c(\-|0|1)|47|mc|nd|ri)|sgh\-|shar|sie(\-|m)|sk\-0|sl(45|id)|sm(al|ar|b3|it|t5)|so(ft|ny)|sp(01|h\-|v\-|v )|sy(01|mb)|t2(18|50)|t6(00|10|18)|ta(gt|lk)|tcl\-|tdg\-|tel(i|m)|tim\-|t\-mo|to(pl|sh)|ts(70|m\-|m3|m5)|tx\-9|up(\.b|g1|si)|utst|v400|v750|veri|vi(rg|te)|vk(40|5[0-3]|\-v)|vm40|voda|vulc|vx(52|53|60|61|70|80|81|83|85|98)|w3c(\-| )|webc|whit|wi(g |nc|nw)|wmlb|wonu|x700|yas\-|your|zeto|zte\-/i' ,$HUA) ) )); } echo isMobile()?1:0; // OR echo isMobile?1:0;
<?php //-- Very simple way $useragent = $_SERVER['HTTP_USER_AGENT']; $iPod = stripos($useragent, "iPod"); $iPad = stripos($useragent, "iPad"); $iPhone = stripos($useragent, "iPhone"); $Android = stripos($useragent, "Android"); $iOS = stripos($useragent, "iOS"); //-- You can add billion devices $DEVICE = ($iPod||$iPad||$iPhone||$Android||$iOS||$webOS||$Blackberry||$IEMobile||$OperaMini); if ($DEVICE !=true) {?> <!-- What you want for all non-mobile devices. Anything with all HTML codes--> <?php }else{ ?> <!-- What you want for all mobile devices. Anything with all HTML codes --> <?php } ?>
Если вы заботитесь о размере экрана, вы можете сохранить ширину и высоту экрана в качестве значений cookie, если они еще не существуют, а затем сделать самостоятельное перенаправление страницы.
Теперь у вас есть файлы cookie на стороне клиента и сервера и вы можете использовать их для определения мобильных телефонов, планшетов и других устройств
Вот краткий пример того, как это можно сделать с помощью JavaScript. Внимание! [этот код содержит псевдокод].
if (!getcookie("screen_size")) { var screen_width = screen.width; var screen_height = screen.height; setcookie("screen_size", screen_width+", " +screen_height); go2(geturl()); }
<?php $useragent=$_SERVER['HTTP_USER_AGENT']; if(preg_match('/(android|bb\d+|meego).+mobile|avantgo|bada\/|blackberry|blazer|compal|elaine|fennec|hiptop|iemobile|ip(hone|od)|iris|kindle|lge |maemo|midp|mmp|netfront|opera m(ob|in)i|palm( os)?|phone|p(ixi|re)\/|plucker|pocket|psp|series(4|6)0|symbian|treo|up\.(browser|link)|vodafone|wap|windows (ce|phone)|xda|xiino/i',$useragent)||preg_match('/1207|6310|6590|3gso|4thp|50[1-6]i|770s|802s|a wa|abac|ac(er|oo|s\-)|ai(ko|rn)|al(av|ca|co)|amoi|an(ex|ny|yw)|aptu|ar(ch|go)|as(te|us)|attw|au(di|\-m|r |s )|avan|be(ck|ll|nq)|bi(lb|rd)|bl(ac|az)|br(e|v)w|bumb|bw\-(n|u)|c55\/|capi|ccwa|cdm\-|cell|chtm|cldc|cmd\-|co(mp|nd)|craw|da(it|ll|ng)|dbte|dc\-s|devi|dica|dmob|do(c|p)o|ds(12|\-d)|el(49|ai)|em(l2|ul)|er(ic|k0)|esl8|ez([4-7]0|os|wa|ze)|fetc|fly(\-|_)|g1 u|g560|gene|gf\-5|g\-mo|go(\.w|od)|gr(ad|un)|haie|hcit|hd\-(m|p|t)|hei\-|hi(pt|ta)|hp( i|ip)|hs\-c|ht(c(\-| |_|a|g|p|s|t)|tp)|hu(aw|tc)|i\-(20|go|ma)|i230|iac( |\-|\/)|ibro|idea|ig01|ikom|im1k|inno|ipaq|iris|ja(t|v)a|jbro|jemu|jigs|kddi|keji|kgt( |\/)|klon|kpt |kwc\-|kyo(c|k)|le(no|xi)|lg( g|\/(k|l|u)|50|54|\-[a-w])|libw|lynx|m1\-w|m3ga|m50\/|ma(te|ui|xo)|mc(01|21|ca)|m\-cr|me(rc|ri)|mi(o8|oa|ts)|mmef|mo(01|02|bi|de|do|t(\-| |o|v)|zz)|mt(50|p1|v )|mwbp|mywa|n10[0-2]|n20[2-3]|n30(0|2)|n50(0|2|5)|n7(0(0|1)|10)|ne((c|m)\-|on|tf|wf|wg|wt)|nok(6|i)|nzph|o2im|op(ti|wv)|oran|owg1|p800|pan(a|d|t)|pdxg|pg(13|\-([1-8]|c))|phil|pire|pl(ay|uc)|pn\-2|po(ck|rt|se)|prox|psio|pt\-g|qa\-a|qc(07|12|21|32|60|\-[2-7]|i\-)|qtek|r380|r600|raks|rim9|ro(ve|zo)|s55\/|sa(ge|ma|mm|ms|ny|va)|sc(01|h\-|oo|p\-)|sdk\/|se(c(\-|0|1)|47|mc|nd|ri)|sgh\-|shar|sie(\-|m)|sk\-0|sl(45|id)|sm(al|ar|b3|it|t5)|so(ft|ny)|sp(01|h\-|v\-|v )|sy(01|mb)|t2(18|50)|t6(00|10|18)|ta(gt|lk)|tcl\-|tdg\-|tel(i|m)|tim\-|t\-mo|to(pl|sh)|ts(70|m\-|m3|m5)|tx\-9|up(\.b|g1|si)|utst|v400|v750|veri|vi(rg|te)|vk(40|5[0-3]|\-v)|vm40|voda|vulc|vx(52|53|60|61|70|80|81|83|85|98)|w3c(\-| )|webc|whit|wi(g |nc|nw)|wmlb|wonu|x700|yas\-|your|zeto|zte\-/i',substr($useragent,0,4))) { echo('This is mobile device'); } else { echo('This is Desktop/Laptop device'); } ?>
Comments