ユーザーエージェントを次のような単純な基本文字列にストリップすることになっているモバイル検出クラスを作成しようとしています:
出力: Mozilla/5.0 (*Linux x86_64*) AppleWebKit/* (Gecko のような KHTML) Chrome/* Safari/*
これから:
入力: (HTTP_USER_AGENT) Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.17 (Gecko のような KHTML) Chrome/24.0.1312.69 Safari/537.17
私は this: /[0-9.-]{4,}/i
pattern を使用して数字を取り除き、次のようになります:
上記のパターンで WHERE AM I SO FAR の結果: Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/* (KHTML、Gecko など) Chrome/* Safari/*
しかし、私の問題はX11;
、最初の開き括弧の後から最初の空白まですべてを削除するパターンが必要です。これが正しい方法だと思います。受け入れ可能な代替手段は、パターンを使用してブラケットをまったく削除できるようにすることです。
助言がありますか?
PS: モバイル検出と browscap への依存の問題を解決するためにこれが必要です。だから、反対票を投じないでください!
PS2: これの主な目的は、モバイル クライアントとデスクトップを検出することです。その後、OSなどの情報を提供するために微調整します.