私の PHP ページでは、ページがモバイル ブラウザーとデスクトップ ブラウザーのどちらで実行されるかに応じて、2 つの異なるテキスト コンテンツを表示する必要があります。PHP でこの制御を実行する方法はありますか?
質問する
122238 次
6 に答える
38
ここには、モバイル クライアントを検出するための非常に優れた PHP ライブラリがあります: http://mobiledetect.net
これを使用すると、モバイル向けのコンテンツのみを表示するのは非常に簡単です。
include 'Mobile_Detect.php';
$detect = new Mobile_Detect();
// Check for any mobile device.
if ($detect->isMobile()){
// mobile content
}
else {
// other content for desktops
}
于 2013-03-05T16:27:55.113 に答える
30
私はRobert Leeの回答を使用しましたが、うまくいきました! 私が使用している完全な機能を書き留めるだけです:
function isMobileDevice(){
$aMobileUA = array(
'/iphone/i' => 'iPhone',
'/ipod/i' => 'iPod',
'/ipad/i' => 'iPad',
'/android/i' => 'Android',
'/blackberry/i' => 'BlackBerry',
'/webos/i' => 'Mobile'
);
//Return true if Mobile User Agent is detected
foreach($aMobileUA as $sMobileKey => $sMobileOS){
if(preg_match($sMobileKey, $_SERVER['HTTP_USER_AGENT'])){
return true;
}
}
//Otherwise return false..
return false;
}
于 2014-05-26T16:21:21.460 に答える
14
必要に応じて手動で行うこともできます。
参考: http: //php.net/manual/en/function.get-browser.php
preg_match('/windows|win32/i', $_SERVER['HTTP_USER_AGENT'])
preg_match('/iPhone|iPod|iPad/', $_SERVER['HTTP_USER_AGENT'])
スクリプトにすることもできます
$device = 'Blackberry'
preg_match("/$device/", $_SERVER['HTTP_USER_AGENT'])
これはやや小さなリストです
'/windows nt 6.2/i' => 'Windows 8',
'/windows nt 6.1/i' => 'Windows 7',
'/windows nt 6.0/i' => 'Windows Vista',
'/windows nt 5.2/i' => 'Windows Server 2003/XP x64',
'/windows nt 5.1/i' => 'Windows XP',
'/windows xp/i' => 'Windows XP',
'/windows nt 5.0/i' => 'Windows 2000',
'/windows me/i' => 'Windows ME',
'/win98/i' => 'Windows 98',
'/win95/i' => 'Windows 95',
'/win16/i' => 'Windows 3.11',
'/macintosh|mac os x/i' => 'Mac OS X',
'/mac_powerpc/i' => 'Mac OS 9',
'/linux/i' => 'Linux',
'/ubuntu/i' => 'Ubuntu',
'/iphone/i' => 'iPhone',
'/ipod/i' => 'iPod',
'/ipad/i' => 'iPad',
'/android/i' => 'Android',
'/blackberry/i' => 'BlackBerry',
'/webos/i' => 'Mobile'
ブラウザ
'/msie/i' => 'Internet Explorer',
'/firefox/i' => 'Firefox',
'/safari/i' => 'Safari',
'/chrome/i' => 'Chrome',
'/opera/i' => 'Opera',
'/netscape/i' => 'Netscape',
'/maxthon/i' => 'Maxthon',
'/konqueror/i' => 'Konqueror',
'/mobile/i' => 'Handheld Browser'
于 2013-03-05T16:29:56.530 に答える
5
検出をはるかに簡単にする優れたオープン ソース プロジェクトが数多くあります。2つ挙げると:
于 2013-03-05T16:25:53.453 に答える