Имеется функция очистки гет-запроса. Передается целое число - id страницы PHP: # функция чистки GET запроса function filter_get($get_id){ $get_id = substr($get_id, 0, 7); //укорачиваем запрос до 7 знаков $get_id = preg_replace("/[^\w\x7F-\xFF\s]/", "", $get_id); # каленым железом выжжем все "ненормальные" символы $get_id = str_replace(chr(160), "", $get_id); //Удаляем неразрывные пробелы $get_id = preg_replace("/ +/", "", $get_id); //сжимаем двойные пробелы return $get_id; } далее... PHP: $id = intval(filter_get($_GET['id'])); if ($id != "0" && is_int($id)){ // тут мой код } В принципе меня такой вариант устраивает. Но хотелось бы узнать мнение экспертов. Может пробелы убирать в самой регулярке? Сделать код более компактным.
Апельсин ну этот код тоже не идеален при неположительных значениях. понятное дело, что id врядли будет отрицательным. но нулем вполне может быть.
engager следуя из этой строки if ($id != "0" && is_int($id)){, ид должен быть плюсовым числом и не ровняться 0. Потому те мои три строчки удовлетворяют требуемым запросам Минусовые значения просто не будут браться во внимание, вызывая else, ну или редирект на "пошелнах.пхп", для любопытных)) можно еще тыкнуть abs(), но в данном случае нет смысла.
ну правильно, при отрицательных и нулевых значениях будет пшолнахъ, а это может не соответсвовать логике приложения. я вот же ж к чему.