Нет.
Карат (^
) внутри означает NOT
.IE не символ от 0 до 9 включительно.Мы должны удалить это.Кроме того, i
означает, что регулярное выражение не чувствительно к регистру ;нам не нужно беспокоиться об этом, потому что у чисел нет регистра, как у других символов.
Нам нужно выбрать, какую часть мы хотим оставить.Для этого используются скобки.Второй параметр должен содержать ссылку на часть, на которую мы хотели бы заменить строку (перед сохранением в $id
).Таким образом, весь вызов функции будет выглядеть следующим образом:
$id = preg_replace('#([0-9]+)#', '\1', $_GET['id']);
+
просто означает, что будет несколько цифр.
Затем вы можете использовать is_int()
чтобы убедиться, что результат вызова функции фактически является INT, потому что если функция не нашла цифру, она просто вернет значение $_GET['id']
.
$id = preg_replace('#([0-9]+)#', '\1', $_GET['id']);
if(is_int($id))
{
//insert to DB
}