需要帮助使用 php 检测 iOS 版本以提供正确的网站图标


Need help using php to detect iOS version to serve correct favicon

鉴于iOS 7正在改变图标的外观,我正在尝试找出一种方法来检测我们网站的访问者正在使用哪些iOS版本,从而为设备提供适当的图标...特别是固定到主屏幕时。我目前拥有的是:

function add_theme_favicon() {
echo '<link rel="shortcut icon" href="/favicon.ico" >';
if(strpos($_SERVER['HTTP_USER_AGENT'], 'iPhone OS 7_'d') !== false) { 
echo  '<link rel="apple-touch-icon-precomposed" href="' . TF_FAV . '/new_favicon_256x256.png" >';
}
else {
    echo '<link rel="apple-touch-icon-precomposed" href="' . TF_FAV . '/favicon_256x256.png" >';
    }
}
add_action('wp_head', 'add_theme_favicon');

不幸的是,有些事情不对劲,因为相同的图像被提供给所有版本的iOS。有人可以指出我正确的方向吗?

>函数strpos不使用正则表达式。你需要找到'iPhone OS 7_'而不是'iPhone OS 7_'d'.正如您可以测试的那样HTTP_USER_AGENT不包含'd.