Форум: Форум PHPФорум ApacheФорум Регулярные ВыраженияФорум MySQLHTML+CSS+JavaScriptФорум FlashРазное
Новые темы: 0000000
PHP на примерах (2 издание). Авторы: Кузнецов М.В., Симдянов И.В. Самоучитель PHP 5 / 6 (3 издание). Авторы: Кузнецов М.В., Симдянов И.В. Социальная инженерия и социальные хакеры. Авторы: Кузнецов М.В., Симдянов И.В. Объектно-ориентированное программирование на PHP. Авторы: Кузнецов М.В., Симдянов И.В. C++. Мастер-класс в задачах и примерах. Авторы: Кузнецов М.В., Симдянов И.В.
ВСЕ НАШИ КНИГИ
Консультационный центр SoftTime

Форум Регулярные Выражения

Выбрать другой форум

 

Здравствуйте, Посетитель!

вид форума:
Линейный форум Структурный форум

тема: вытащить расширение из URL
 
 автор: oliss   (07.03.2010 в 14:58)   письмо автору
 
 

Есть два вида ссылок :
http://www.site.ru/art/
http://www.site.ru/forum.html
надо получить
mod -->art
ext-->/
и
mod-->forum
ext-->.html


RewriteRule ^([A-Za-z0-9\-]{3,})(\.html|/)?$ index.php?mod=$1&ext=$2 [L,QSA]  // даёт ошибку

  Ответить  
 
 автор: baston   (07.03.2010 в 15:52)   письмо автору
 
   для: oliss   (07.03.2010 в 14:58)
 

Вот такое выражение попробуйте:
(http:\/\/[^\/]+\/)([^\/\.]+)([\/\.\w]+)

$2 - это мод
$3 - это расширение

P.S. Уточнил регулярку

  Ответить  
 
 автор: oliss   (07.03.2010 в 17:09)   письмо автору
 
   для: baston   (07.03.2010 в 15:52)
 

Не пошло :(

  Ответить  
 
 автор: baston   (07.03.2010 в 17:33)   письмо автору
 
   для: oliss   (07.03.2010 в 17:09)
 

Ну, регулярка-то вытаскивает нужные данные. Может быть, у вас строка исходная как-то иначе выглядит?
Либо попробуйте сделать два правила с двумя вариантами регулярки (один для первого случая ссылки, другой для второго).

  Ответить  
 
 автор: exp   (07.03.2010 в 20:45)   письмо автору
 
   для: baston   (07.03.2010 в 17:33)
 

там о htaccess речь шла , а http: в RewriteRule не сопоставляается
только
^([^/.]+)(/?|\.html)$ ?mod=$1&ext=$2 [QSA,L]

  Ответить  
Rambler's Top100
вверх

Rambler's Top100 Яндекс.Метрика Яндекс цитирования