Jump to content
  • 0

Несколько id категорий в урле


Trust
 Share

Question

Всем привет. Есть вот такой код:

<input id="modlgn_username" type="hidden" name="username" class="inputbox" alt="username" size="10" 
value="<?php if(preg_match ('|/shop/category/3|i', $_SERVER['REQUEST_URI'])) {
echo "pass"; }
?>"
/>

Он вставляет слово pass только на страницах категории с id 3 (/shop/category/3|i). Подскажите пожалуйста, как добавить в эту строчку дополнительные категории? К примеру, 4, 5, 6 и т.д.?

Link to comment
Share on other sites

12 answers to this question

Recommended Posts

  • 0

LunatiK , большое спасибо. Работает :) . Правда только первый вариант...

Если посдатвить второй вариант, прямо в поле value появлется ошибка, вместо pass.

Понял, что ошибка появляется из-за двузначного чилса. У меня от 4 до 13, это как-то можно испраить?

Edited by Trust
Link to comment
Share on other sites

  • 0

LunatiK, а не подскажите ещё как точно обозначить страничку? Т.е. i в конце предполагает ещё какое-то число слов в урле (к примеру, /cat/ или /category/). Как мне сделать, чтобы после цифры id, отсчитывалось ровно одно слово, два слова, три слова и т.д.? Причём у меня урлы кириллические наполовину.

1 уровень: site.ru/shop

2: site.ru/shop/category/1/Хабаровск

3: site.ru/shop/category/14/Хабаровск/Фурнитура

Edited by Trust
Link to comment
Share on other sites

  • 0

i - если мне память не изменяет, то это регистронезависимость.

а по поводу остального я вас не понял, вы хотите Хабаровск Фурнитура в массив записать ? или просто добавить нечно \/([А-Яа-я]+)\/

LunatiK , большое спасибо. Работает :) . Правда только первый вариант...

Если посдатвить второй вариант, прямо в поле value появлется ошибка, вместо pass.

Понял, что ошибка появляется из-за двузначного чилса. У меня от 4 до 13, это как-то можно испраить?

[0-9]+ - означает любое количество цифр, один и более

Link to comment
Share on other sites

  • 0

Ну вот конкретный пример:

мне нужно, чтобы вот такой код

type="<?php
if (preg_match ('/\/shop\/category\/(4)|(5)|(6)|(7)|(8)|(9)|(10)|(11)|(12)|(14)/i', $_SERVER['REQUEST_URI'])) { echo "text"; }
elseif (preg_match ('/\/shop\/category\/(1)|(3)/i', $_SERVER['REQUEST_URI'])) { echo "hidden"; }
elseif (preg_match ('/shop/', $_SERVER['REQUEST_URI'])) { echo "hidden"; }
?>"

выводил text на страничках вида site.ru/shop/category/id/Хабаровск/Фурнитура (где id - от 4 до 14) и

hide на страницах вида site.ru/shop/category/1/Хабаровск (где id - от 1 до 3), а также на странице site.ru/shop

Edited by Trust
Link to comment
Share on other sites

  • 0

Как-то так наверно

type="<?

if (preg_match('/\/shop(\/)$/', $_SERVER['REQUEST_URI'])) {echo "hidden";}
elseif (preg_match ('/\/shop\/category\/[1-3]{1}\//i', $_SERVER['REQUEST_URI'])) {echo "hidden";}
elseif (preg_match ('/\/shop\/category\/[4-9]{1}|[1]{1}[0-4]{1}/i', $_SERVER['REQUEST_URI'])) {echo "text";}

?>"

Link to comment
Share on other sites

  • 0

Всё отлично, но вот первая строчка не работает. Т.е. на странице shop слово hide не вставляется - выдаётся ошибка.

LunatiK, огромное спасибо, что помагаете. Без вас бы наверное пришлось очень сильно извращаться...

Edited by Trust
Link to comment
Share on other sites

  • 0

а, да, это походу мой касяк. переклинило ... бывает ...

type="<?

if (preg_match('/\/shop(\/?)$/', $_SERVER['REQUEST_URI'])) {echo "hidden1";}
elseif (preg_match ('/\/shop\/category\/[1-3]{1}(\/?)/i', $_SERVER['REQUEST_URI'])) {echo "hidden2";}
elseif (preg_match ('/\/shop\/category\/[4-9]{1}|[1]{1}[0-4]{1}(\/?)/i', $_SERVER['REQUEST_URI'])) {echo "text";}

?>"

вот так будет правильней

Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Answer this question...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

 Share

×
×
  • Create New...

Important Information

We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue. See more about our Guidelines and Privacy Policy