
![]() |
Здравствуйте Гость ( Вход | Регистрация ) |
|
|
|
![]() ![]() ![]() |
![]() |
|||
![]() ![]() LadaFWD club ![]() ![]() ![]() ![]() ![]() ![]() Профиль Журнал Группа: ★ЛжеЭксперт★ ![]() Сообщений: 1448 Пользователь №: 24637 На форуме: Карма: 22 ![]() |
Есть строка вида:
http://www.test.loc/index.php?do=/Roman/ или test.loc/index.php?do=/Roman/ или http://www.test.loc/Roman/ Как, с помощью регулярки получить с нее "Roman" ? substr(); Не предлагать ! Заранее спасибо :) Спустя 4 минуты, 31 секунда (27.12.2011 - 10:19) kent666 написал(а): А если делать привязку к концу строки "#\/(.+)\/$#" Спустя 6 минут, 51 секунда (27.12.2011 - 10:26) duhon написал(а): preg_match('#/[^/]+/?$#', 'http://www.test.loc/Roman/'); Спустя 12 минут, 5 секунд (27.12.2011 - 10:38) RCuPeR написал(а): Момент! Спустя 2 минуты, 21 секунда (27.12.2011 - 10:41) RCuPeR написал(а): preg_match_all('#\/(.+)\/$#', $str1, $match); Возвращает: Array preg_match_all('#/[^/]+/?$#', $str1, $match); Возвращает: Array Спустя 49 секунд (27.12.2011 - 10:41) RCuPeR написал(а): Второй вариант явно более подходящий, но тогда вопрос: как в этой же регулярке избавится от слешей ? Спустя 7 минут, 58 секунд (27.12.2011 - 10:49) kent666 написал(а): попробуй preg_match_all('#\/([a-zA-Z0-9]+)\/$#', $str1, $match); Я просто не учел что слеши могут быть в самом начале И во втором массиве будет то что тебе надо Спустя 9 минут, 35 секунд (27.12.2011 - 10:59) RCuPeR написал(а): Теперь такой момент: если во всех троих случаях в урле нету последнего слеша ??? Спустя 1 минута, 35 секунд (27.12.2011 - 11:01) kent666 написал(а): preg_match_all('#\/([a-zA-Z0-9]+)$#', $str1, $match) Спустя 25 минут, 13 секунд (27.12.2011 - 11:26) RCuPeR написал(а): Последний моментик: В строке еще должен быть символ "-". Т.е: $str2 = 'test.loc/index.php?do=/profile-123/'; Спустя 2 минуты, 32 секунды (27.12.2011 - 11:28) kent666 написал(а): Для /profile-123/ preg_match_all('#\/([a-zA-Z0-9-]+)\/$#', $str1, $match) Для /profile-123 preg_match_all('#\/([a-zA-Z0-9-]+)$#', $str1, $match) Если не сработатет то попробуй так preg_match_all('#\/([a-zA-Z0-9\-]+)$#', $str1, $match) Спустя 13 минут, 58 секунд (27.12.2011 - 11:42) killer8080 написал(а): RCuPeR это нужно? $t = ' Спустя 16 минут, 5 секунд (27.12.2011 - 11:58) Эли4ка написал(а): ого сколько примеров по регуляркам..пригодится.. Спустя 2 минуты (27.12.2011 - 12:00) killer8080 написал(а):
Не пригодится, регулярки пишутся индивидуально под задачу ![]() Спустя 27 секунд (27.12.2011 - 12:01) dadli написал(а): RCuPeR или так: $str = 'http://www.test.loc/index.php?do=/Roman/'; Спустя 42 минуты, 42 секунды (27.12.2011 - 12:44) RCuPeR написал(а): Всем большое спасибо ! Пока все способы не испробовал, но уверен: пригодятся ![]() -------------------- Гнусный социопат с комплексом Бога.
|
||
![]() |
![]() ![]() ![]() |