Рассмотрим простой пример у нас есть форма с select на странице и мы хотим что бы каждый раз происходил выбор страница перезагружалась и в select было выбранное то что было на предыдущей странице.
<select name="page">
<?php
while($a<10){
echo "<option value=\"$a\">$a<option>";
}
?>
</select>
При передачи url будет выгладить так url.html?page=5
теперь при формировании select надо будет поставить selected="selected" там где $a==5. Сделать это можно через if а можно воспользоваться регуляркой
<select name="page">
<?php
while($a<10){
$a1=preg_replace("/^($_GET[page])$/i", "\$1\" selected=\"selected", $a);
echo "<option value=\"$a1\">$a<option>";
}
?>
</select>
вот и все! Не нужно никаких проверок или чего нибудь еще. Что деделает формула
$a1 это последовательность чисел от 0 до 9
preg_replace("/^($_GET[page])$/i”, “\$1\” selected=\”selected”, $a) - здесь мы говорим найди в $а число 5 и замени его на 5" selected="selected, обратите внимание на кавычки.
И далее мы помещаем наше $а внутрь echo
<option value="5" selected="selected">5<option>
Кроме того очень важно что бы в регулярном выражении стояли ^ и $ потому что если $_GET[page] не будет определен или будет равен скажем 20 то вы будете уверены что формула не сработает.