2015-06-23 4 views
0

Я получил это меню, сделанное с помощью некоторой справкой php, чтобы добавить .active в зависимости от запроса страницы.PHP, представляющий любое число

Как это:

<ul class="menu_lateral"> 
    <li><a <?php if(($_REQUEST['p']=="estufas") || ($_REQUEST['p']=="estufas-1")){?> class="active" <?php } ?> href="index.php?p=estufas">Estufas</a></li> 
    <li><a <?php if($_REQUEST['p']=="recuperadores"){?> class="active" <?php } ?> href="index.php?p=recuperadores">Recuperadores</a></li> 
    <li><a <?php if($_REQUEST['p']=="salamandras"){?> class="active" <?php } ?> href="index.php?p=salamandras">Salamandras</a></li> 
    <li><a <?php if($_REQUEST['p']=="churrasqueiras"){?> class="active" <?php } ?> href="index.php?p=churrasqueiras">Churrasqueiras</a></li> 
</ul> 

Как вы можете видеть на первом пункте, есть еще одна страница ESTUFA. Поэтому, если запрос ESTUFAS, он добавит .active, а также добавит его, если запрос ESTUFAS-1.

Дело в том, что я хочу добавить много страниц, estufas-1, 2, 3, 4, 5 и т. Д., И для этого мне пришлось бы добавить много OR для моего Если или, возможно, измените это к делу. Но это, кажется, слишком много работы, и это не будет динамично.

Есть ли способ, чтобы заставить его быть любое число, например:

if(($_REQUEST['p']=="estufas") || ($_REQUEST['p']=="estufas-ANYNUMBER")) 

Так было бы добавить .active если запрос был estufas или estufas-1 или estufas-2 или estufas-3 и т.д. .

Это сделало бы все так просто.

Есть ли способ сделать это? Или любое другое решение?

+0

Напишите функцию для этого и назовите это –

+0

a for loop to1,2,3 ... – miglio

+1

Modif y ваш запрос имеет два значения (например, '? p = estufas & v = 3'), то' $ _REQUEST ['p'] 'будет по-прежнему' estufas', но вы также будете иметь '$ _REQUEST ['v']' где 'v' - ваш ANYNUMBER –

ответ

2

Вы всегда можете использовать что-то вроде stripos найти, если это там

if(stripos($_REQUEST['p'], 'estufas') !== false) // We have estufas 
+0

Этот, кажется, самый быстрый и простой способ сделать это. У меня есть моя идея. – White8Tiger

1

Вы можете использовать этот код внутри, если условие:

preg_match('/^estufas(-\d)?$/', $_REQUEST['p']) 

Так результат будет:

<ul class="menu_lateral"> 
    <li><a <?php if(preg_match('/^estufas(-\d)?$/', $_REQUEST['p'])){?> class="active" <?php } ?> href="index.php?p=estufas">Estufas</a></li> 
    <li><a <?php if($_REQUEST['p']=="recuperadores"){?> class="active" <?php } ?> href="index.php?p=recuperadores">Recuperadores</a></li> 
    <li><a <?php if($_REQUEST['p']=="salamandras"){?> class="active" <?php } ?> href="index.php?p=salamandras">Salamandras</a></li> 
    <li><a <?php if($_REQUEST['p']=="churrasqueiras"){?> class="active" <?php } ?> href="index.php?p=churrasqueiras">Churrasqueiras</a></li> 
</ul>