私はこのフォームを持っているとしましょう:
<form method="post">
<select name="s[]" multiple="multiple">
<option value="12345678">One</option>
<option value="a7e6b65e">Two</option>
<option value="ad2445f7">Three</option>
<option value="998d64fe">Four</option>
</select>
<input type="submit" value="GO">
</form>
フォームが送信されたら、フィルター機能の 1 つを使用して、データに問題がないことを確認できますか? と最初に思ったfilter_input_array
のですが、それだけではないと思います。
私が見る唯一の方法は、最初に配列があるかどうかを確認してから、値を循環させることです。
$s_clean = array();
if (isset($_POST['s']) && is_array($_POST['s'])) {
foreach ($_POST['s'] as $o) {
$s_clean[] = filter_var($o, FILTER_VALIDATE_REGEXP, array('options' => array('regexp' => '/^[0-9a-f]{8}$/')));
}
}
もっと簡単な方法はありますか?