0

ここにこのコードがあります

$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 ステートメント内にあるため、ブレークします。

if(eregi($find, $search)) {
    break;
}else{
    $os = "Unknown";
}

そして、私の if ステートメントは Unknown を返します!! 私の検索文字列 ((Android) && (タブレット)) に何か問題がありますか、それとも eregi は私が使いたいものではありませんか?

4

2 に答える 2

1

strpos()これは、if()テストを使用して実行できます。

if ( false !== strpos( $search, 'Nexus 7' ) ||
     ( false !== strpos( $search, 'Android' ) && 
       false !== strpos( $search, 'Tablet' ) ) { ... }

検索用語がターゲット文字列の先頭にある場合、 は '0' を返すため、ここでは 'value-and-type' テスト ( !==) を使用する必要があることに注意してください。strpos

于 2013-05-22T18:50:55.117 に答える
0
if (!preg_match("/Nexus 7|Andriod|Tablet/", $_SERVER['HTTP_USER_AGENT']) $os = "unknown";
于 2013-05-22T18:57:23.520 に答える