rendered paste body foreach($_POST['type'] as $key => $value) { //$str = '/\<select.*name="type\['.$key.'\]"\>.*\<option value="('.$_POST['type'][$value].')"\>(.*)\<\/option\>.*\<\/select\>/im'; $str = '/\<select.*name="type\['.$key.'\]"\>\n\<option value="('.$_POST['type'][$value].')"\>(.*)\<\/option\>\n\<\/select\>/im'; preg_match_all($str, $filter_html, $matches); var_dump($matches); //$filter_html = preg_replace($str, '<option value="\\1" selected="selected">\\2</option>', $filter_html); } <select class="field" name="type[view]"> <option></option> <option value="0">All</option> <option value="1">Current</option> <option value="2">This week</option> <option value="3">Archive</option> <option value="4">Later</option> </select>