我在这里有这个代码
$search = $_SERVER['HTTP_USER_AGENT'];搜索返回Mozilla/5.0 (Android; Tablet; rv:14.0) Gecko/14.0 Firefox/14.0
此查找位于数组中
$find = '(Nexus 7) | ((Android) && (Tablet))';这个if语句在foreach语句中,因此出现了break。
if(eregi($find, $search)) {
break;
}else{
$os = "Unknown";
}并且我的if语句返回未知!!我的find字符串((Android) && (Tablet))有问题吗?还是eregi不是我想使用的?
发布于 2013-05-23 02:50:55
这可以使用strpos()和if()测试来完成:
if ( false !== strpos( $search, 'Nexus 7' ) ||
( false !== strpos( $search, 'Android' ) &&
false !== strpos( $search, 'Tablet' ) ) { ... }请注意,这里必须使用‘值和类型’测试(!==),因为如果在目标字符串的开头找到搜索词,strpos将返回'0‘。
发布于 2013-05-23 02:57:24
if (!preg_match("/Nexus 7|Andriod|Tablet/", $_SERVER['HTTP_USER_AGENT']) $os = "unknown";https://stackoverflow.com/questions/16699209
复制相似问题