%5B%5D を削除して、htaccess などで URL を「きれい」にする方法はありますか?
いいえ。[]
はURL の予約文字であるため、必ずURL エンコードする必要があります。
POST を使用できない場合は、それが検索フォームであることを考えると理にかなっていますが、最善の策は、値が 1 程度の異なる名前をそれぞれに付けることです。
<form>
<input type="checkbox" name="option1" value="1" />
<input type="checkbox" name="option2" value="1" />
</form>
または、本当に同じ名前を使用することを主張する場合は、名前に接尾辞が付いたパラメーターを取得するときに配列を返すという PHP 固有の機能に依存するのではなく、クエリ文字列を自分で抽出する必要があります[]
。
$params = explode('&', $_SERVER['QUERY_STRING']);
foreach ($params as $param) {
$name_value = explode('=', $param);
$name = $name_value[0];
$value = $name_value[1];
// ... Collect them yourself.
}
このようにして、ブレースなしの名前を使い続けることができます。
<form>
<input type="checkbox" name="option" value="option1" />
<input type="checkbox" name="option" value="option2" />
</form>