特にジャンプ判断、レコードソース、またはセキュリティ検証などのシナリオで、PHPでURLとそのパラメーターを処理するための一般的な要件です。 StripOS()は、文字列に別の文字列が含まれているかどうかを判断するために使用できる非常に実用的な関数です。
この記事では、 StripOS()を使用する方法を紹介して、URLにREF = ABC 、 UTM_Sourceなどの指定されたパラメーターが含まれているかどうかを確認します。
StripOS()はPHPの組み込み関数であり、その使用法は次のとおりです。
int|false stripos(string $haystack, string $needle, int $offset = 0)
針が最初にHaystackに表示される場所を返し、見つからない場合はFalseです。 strpos()とは異なり、 strpos()はケース非感受性です。
URLがあるとします:
$url = "https://m66.net/shop/product.php?id=123&ref=abc&utm_source=google";
このURLにパラメーターRef = ABCが含まれているかどうかを確認します。
<?php
$url = "https://m66.net/shop/product.php?id=123&ref=abc&utm_source=google";
// 見つけるパラメーター
$param = "ref=abc";
// 使用 stripos 検索を行います
if (stripos($url, $param) !== false) {
echo "URL パラメーターが含まれています '{$param}'。";
} else {
echo "URL パラメーターは含まれていません '{$param}'。";
}
出力結果:
URL パラメーターが含まれています 'ref=abc'。
spripos()は、ブール値ではなく一致する位置を返します。したがって、試合が成功したかどうかを判断するには!== falseを使用する必要があります。
StripOS()はケース感受性です。ケースに敏感なチェックが必要な場合は、 strpos()を使用してください。
複数のパラメーターを検出する場合は、ループと組み合わせて使用するか、パラメーターを配列に解析して処理することをお勧めします。
<?php
$url = "https://m66.net/shop/product.php?id=123&ref=abc&utm_source=google";
$params = ["ref=abc", "utm_source=google", "campaign=summer"];
foreach ($params as $param) {
if (stripos($url, $param) !== false) {
echo "URL パラメーターを含めます:{$param}\n";
} else {
echo "URL 不パラメーターを含めます:{$param}\n";
}
}
StripOS()を使用すると、URLに特定のキーワードまたはパラメーターがあるかどうかを確認するためのシンプルで迅速な方法です。ケースを気にしない場合、または単純なチェックを含めるだけで完璧なツールです。
より厳密なURL解析(パラメーター値の抽出、クエリ文字列の構築など)が必要な場合は、 parse_url()やparse_str()などの関数を使用することを検討できます。
この記事があなたを助けることを願っています!さらに質問がある場合は、引き続き通信してください!