Как заменить в строке параметра $GET цифры на регулярное выражение?
Приветствую.
Подскажите, как в строке условия:
if (isset($_GET['PAGEN_1']) && intval($_GET['PAGEN_1'])>0) {
цифру 1 в PAGEN_1 заменить на любое целое число, чтобы условие выполнялось.
Не совсем понимаю, как правильно записать в такой конструкции регулярное выражение.
vimbatu, плохая практика обращаться к номеру страницы через гет параметры. Ты, наверное, не знаешь, но имя этого параметра ДИНАМИЧЕСКОЕ. Т.е когда в коде выше твоего компонента будет расположен другой компонент, генерирующий пагинацию (news.list например) то твое PAGEN_1 будет уже относится к новому компоненту, а не к тому, который тебе нужен.
Такие задачи решаются непосредственно в шаблоне компонента. В переменной arResult есть объект навигации. Прокидывай его в component_epilog и дальше уже работай с ним. Так ты решишь задачу правильно и навсегда.
foreach ($_GET as $key => $value) {
if (preg_match('/^PAGEN_(\d+)$/', $key, $matches)) {
// пользователь передал параметр $_GET[$key] со значением $value, номер сохранён в $matches[1]
}
}