[ Поиск ] - [ Пользователи ] - [ Календарь ]
Полная Версия: RegEx моя слабость
Shkiper
Всем привет. Я в регулярках слаб, хотя некоторые знания есть. Но все равно помощь требуется ;). Вот допустим есть URL сайта приукрашенный ЧПУ http://site.ru/news/newsname/id1.
news - это имя загружаемого контроллера.
newsname/id1 - это уже данные которые поступают в сам контроллер.
Так вот если разобрать ЧПУ то он просто замаскировал вот такой запрос:
http://site.ru/?router=news&&name=newsname&&newsid=id1
И если написать

echo $_GET['newsname'];

То он нам выведет, то что мы хотим.
А мне нужно вот что.
ЧПУ другой,а вид будет такой:
http://site.ru/?url=news/newsname/id1
И теперь весть путь будет в 1 переменной

$_GET['url'] = 'news/newsname/id1';


Теперь мне с помощью регулярки нужно нужно распределить это все.
То есть записать в переменную вот такие данные

$match['0'] = 'news';
$match['1'] = 'newsname';
$match['2'] = 'id1';

Только как это сделать. И вот еще что. Как мне оформить это все а ЧПУ чтоб все было в одной переменной url(как выше в примере). тоесть только часть регулряки а остальное я могу



Спустя 4 минуты, 34 секунды (14.09.2012 - 15:35) vital написал(а):
$match = explode('/',$_GET['url'])

Спустя 10 минут (14.09.2012 - 15:45) Shkiper написал(а):
vital print_f молчит.

Спустя 5 минут, 15 секунд (14.09.2012 - 15:50) Shkiper написал(а):
vital а нет спс работает, просто не так написал. А как мне решить проблему с показом в ЧПУ?

Спустя 2 минуты, 2 секунды (14.09.2012 - 15:52) vital написал(а):
Цитата (Shkiper @ 14.09.2012 - 14:50)
vital а нет спс работает, просто не так написал. А как мне решить проблему с показом в ЧПУ?

какую

Спустя 5 минут, 41 секунда (14.09.2012 - 15:58) johniek_comp написал(а):
Свернутый текст
сорри за оффтоп, статус ТС-са убил smile.gif

Спустя 8 минут, 18 секунд (14.09.2012 - 16:06) Shkiper написал(а):
johniek_comp ага прям хедшотит забацал.
vital
мне надо вот что. Есть урл http://site.ru/news/newsname/id1. Так вот там есть 3 гет переменные. А мне надо, чтоб news/newsname/id1 содержался в 1 переменной а не в трех

Спустя 10 минут, 2 секунды (14.09.2012 - 16:16) killer8080 написал(а):
Цитата (Shkiper @ 14.09.2012 - 16:06)
мне надо вот что. Есть урл http://site.ru/news/newsname/id1. Так вот там есть 3 гет переменные.

Я тебя разочарую, там нет ни одной гет переменной biggrin.gif

Спустя 6 минут (14.09.2012 - 16:22) Shkiper написал(а):
rewriterule /([a-z])/([a-z0-9])/([a-z0-9])/ index.php/?route=$1&&newsname=$2&&newsid=$3

Спустя 9 минут, 8 секунд (14.09.2012 - 16:32) killer8080 написал(а):
Shkiper
а двойные амперсанды там на кой?
Цитата (Shkiper @ 14.09.2012 - 16:06)
А мне надо, чтоб news/newsname/id1 содержался в 1 переменной а не в трех

Ну так и делай, в чем проблема?
RewriteEngine On
RewriteRule ^(.*)$ index.php?route=$1 [L,QSA]


Спустя 22 минуты, 5 секунд (14.09.2012 - 16:54) dron4ik написал(а):
Цитата (killer8080 @ 14.09.2012 - 13:16)
Цитата (Shkiper @ 14.09.2012 - 16:06)
мне надо вот что. Есть урл http://site.ru/news/newsname/id1. Так вот там есть 3 гет переменные.

Я тебя разочарую, там нет ни одной гет переменной biggrin.gif

biggrin.gif biggrin.gif biggrin.gif
Сорри за оффТоп()

Спустя 2 часа, 3 минуты, 12 секунд (14.09.2012 - 18:57) Arh написал(а):
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /
RewriteCond %{SCRIPT_FILENAME} !-f
RewriteCond %{SCRIPT_FILENAME} !-d
RewriteRule ^(.*)$ /index.php?furl=$1 [L,QSA]
</IfModule>


а лучше так
а то по идее картинки даже не откроются.
а потом
if (isset($_REQUEST['furl'])) 
$Furl = explode("/",$_REQUEST['furl']);
$_GET['name'] = $Furl['0'];

и так потом с первого ключа, не чётное значит имя гета, а его значение ключ +1
то есть имя гета $Furl['1'] его значение $Furl['2']
имя $Furl['3'] значение $Furl['4']
вот и весь ЧПУ

Спустя 1 час, 34 минуты, 56 секунд (14.09.2012 - 20:32) Shkiper написал(а):
Arh
killer8080 ех спасибо wink.gif

Спустя 7 дней, 22 часа, 6 минут, 46 секунд (22.09.2012 - 18:39) Shkiper написал(а):
johniek_comp так то ты тоже не спец в прораммировании, хотя да знаешь немного больше меня. я сам на месте не стою. уже регулярку выучил. пздс полный ахахаах.
Быстрый ответ:

 Графические смайлики |  Показывать подпись
Здесь расположена полная версия этой страницы.
Invision Power Board © 2001-2024 Invision Power Services, Inc.