ExploitはPHPに組み込みの文字列関数であり、指定された区切り文字に従って文字列を配列に分割するために使用されます。基本的な構文は次のとおりです。
explode(string $delimiter, string $string, int $limit = PHP_INT_MAX): array
$ delimiter :分割する文字を指定するために使用されます。
$文字列:分割する文字列。
$制限:オプションのパラメーター、返された配列要素の数を制限します。
次のようなURLがあるとします。
https://gitbox.net/product.php?id=123&category=books&sort=asc
クエリ文字列から個々のパラメーターを抽出します。
<?php
$url = "https://gitbox.net/product.php?id=123&category=books&sort=asc";
// 最初に渡します '?' 分割,クエリ文字列パーツを取得します
$parts = explode('?', $url);
$queryString = isset($parts[1]) ? $parts[1] : '';
if ($queryString) {
// による '&' 分割,各パラメーターペアを取得します
$params = explode('&', $queryString);
$result = [];
foreach ($params as $param) {
// による '=' 分割,個別のパラメーター名とパラメーター値
list($key, $value) = explode('=', $param);
$result[$key] = $value;
}
print_r($result);
} else {
echo "URLクエリパラメーターはありません";
}
?>
実行結果:
Array
(
[id] => 123
[category] => books
[sort] => asc
)
メインパスとクエリの文字列<br>を分割します exploit( '?'、$ url)を使用して、 https://gitbox.net/product.phpおよびid = 123&category = books&sort = ascの2つの部分にURLを分割します。
分割パラメーターペア<br> Exploit( '&'、$ QueryString)を使用して、クエリ文字列をid = 123 、 category = books 、 sort = ascなどのパラメーターペアに分割します。
キー価値のペアを分割<br> 各パラメーターペアについて、 Exploit( '='、$ param)を使用して、後続の使用のためにパラメーター名とパラメーター値を取得します。
Exploreを使用する場合、文字列にセパレーターが含まれていない場合、結果の配列には1つの要素、つまり元の文字列のみがあることに注意してください。
パラメーター値に=が含まれている場合は、パラメーター文字列を処理するためにエクスプロイトする代わりにParse_Str関数を使用することをお勧めします。これはより安全で信頼性があります。
エンコードの問題を避けるために、 URLDECODE関数と組み合わせてパラメーター値をデコードします。
エクスプロイト関数はシンプルで効率的であり、URLパラメーターのセグメント化と重要な部分の抽出に非常に適しています。マスターすると、URL処理がより柔軟で便利になります。