Webアプリケーションを開発するとき、さまざまなユーザーエージェント(ユーザーエージェント)を理解することで、Webサイトエクスペリエンスを最適化し、応答をカスタマイズし、さまざまなデバイスやブラウザをより適切に処理できます。 PHPのStripOS()関数は、ユーザーエージェント文字列の特定の情報を検出するために使用できる非常に便利なツールです。この記事では、 StripoS()関数を使用してさまざまなユーザーエージェントを区別する方法を示します。
Stripos()は、PHPの組み込み関数です。ケースを無視して、文字列が最初に別の文字列に表示される場所を見つけるために使用されます。指定されたサブストリングが見つかった場合、親文字列のサブストリングの位置が返され、見つからない場合はfalseが返されます。
stripos(string $haystack, string $needle, int $offset = 0): int|false
$ haystack :ターゲット文字列(つまり、検索されている文字列)。
$針:見つかるサブストリング。
$ offset :オプションのパラメーター、検索の開始場所を指定します。
ユーザーエージェントは、ブラウザまたはデバイスからWebサーバーに送信される文字列です。ブラウザ、オペレーティングシステム、およびデバイスに関する情報が含まれています。ユーザーエージェント文字列を分析することにより、訪問者が使用しているブラウザ、オペレーティングシステム、およびデバイスタイプを特定できます。
さまざまなブラウザを区別したいと仮定すると、次の手順を使用できます。
ユーザーエージェント文字列を取得します。
StripOS()を使用して、特定のブラウザ識別子が含まれているかどうかを確認します。
StripOS()を使用して訪問者のブラウザを識別する方法を示す例を示します。
<?php
// ユーザーエージェント文字列を取得します
$userAgent = $_SERVER['HTTP_USER_AGENT'];
// あるかどうかを確認してください Chrome ブラウザ
if (stripos($userAgent, 'Chrome') !== false) {
echo "あなたは使用しています Chrome ブラウザ";
}
// あるかどうかを確認してください Firefox ブラウザ
elseif (stripos($userAgent, 'Firefox') !== false) {
echo "あなたは使用しています Firefox ブラウザ";
}
// あるかどうかを確認してください Safari ブラウザ
elseif (stripos($userAgent, 'Safari') !== false) {
echo "あなたは使用しています Safari ブラウザ";
}
// あるかどうかを確認してください Edge ブラウザ
elseif (stripos($userAgent, 'Edge') !== false) {
echo "あなたは使用しています Edge ブラウザ";
} else {
echo "无法识别您的ブラウザ";
}
?>
ブラウザに加えて、ユーザーエージェント文字列にはオペレーティングシステム情報も含まれています。また、 StripOS()を使用して、訪問者がWindows、Mac、Linux、またはモバイルオペレーティングシステム(AndroidやiOSなど)を使用しているかどうかを判断することもできます。
<?php
// ユーザーエージェント文字列を取得します
$userAgent = $_SERVER['HTTP_USER_AGENT'];
// あるかどうかを確認してください Windows オペレーティング·システム
if (stripos($userAgent, 'Windows NT') !== false) {
echo "あなたは使用しています Windows オペレーティング·システム";
}
// あるかどうかを確認してください Mac オペレーティング·システム
elseif (stripos($userAgent, 'Mac OS X') !== false) {
echo "あなたは使用しています Mac オペレーティング·システム";
}
// あるかどうかを確認してください Linux オペレーティング·システム
elseif (stripos($userAgent, 'Linux') !== false) {
echo "あなたは使用しています Linux オペレーティング·システム";
}
// あるかどうかを確認してください iOS オペレーティング·システム
elseif (stripos($userAgent, 'iPhone') !== false || stripos($userAgent, 'iPad') !== false) {
echo "あなたは使用しています iOS オペレーティング·システム";
}
// あるかどうかを確認してください Android オペレーティング·システム
elseif (stripos($userAgent, 'Android') !== false) {
echo "あなたは使用しています Android オペレーティング·システム";
} else {
echo "无法识别您的オペレーティング·システム";
}
?>
ユーザーエージェントを分析することにより、訪問者がデスクトップまたはモバイルデバイスを使用しているかどうかを区別することもできます。モバイルデバイスのユーザーエージェントには通常、「モバイル」や「iPhone」などの単語が含まれますが、デスクトップデバイスのユーザーエージェントはそうではありません。以下は、デバイスのタイプを決定する方法の例です。
<?php
// ユーザーエージェント文字列を取得します
$userAgent = $_SERVER['HTTP_USER_AGENT'];
// モバイルデバイスかどうかを判断します
if (stripos($userAgent, 'Mobile') !== false || stripos($userAgent, 'Android') !== false || stripos($userAgent, 'iPhone') !== false) {
echo "あなたは使用しています移动设备";
} else {
echo "あなたは使用しています桌面设备";
}
?>
PHPのStripoS()関数を使用することにより、ユーザーエージェント文字列から情報を簡単に抽出して、ブラウザ、オペレーティングシステム、およびデバイスタイプを識別できます。これは、ユーザーエクスペリエンスをカスタマイズし、Web応答を最適化するために不可欠です。