0

私はさまざまなユーザー エージェント パーサーを調査してきましたが、必要な複雑さとサイズに驚かされました。

OS を、、またはの 3 つのカテゴリに解析することのみに関心がある場合、これを効率的、軽量、迅速に行うにはどうすればよいでしょうか。WindowsMacOther

ブラウザ、バージョン、その他は気にしません。Mac、Windows、またはその他のみ。

おすすめは何ですか?

これが私がこれまでに持っているものです:

if (strpos($user_agent, 'Windows')) $os = 'Windows';
elseif (strpos($user_agent, 'Macintosh')) $os = 'Macintosh';
else $os = 'Other';

この率直なアプローチに危険はありますか?

4

1 に答える 1

1

これでは不十分かもしれません。WinNT古い W​​indows バージョンでは、代わりにプレフィックスが付く傾向があります。WinWindows 以外のユーザー エージェントにも一致するものだけを探します。また、Macintosh の場合は、検索Macのみ。通常、ユーザー エージェントでは Mac OS としてリストされます。

これは、Windows 検出に適した正規表現です。

/Win(?:dows )?([^do]{2})\s?(\d+\.\d+)?/
于 2013-11-14T05:27:09.390 に答える