Regex: извлечь первый и последний дочерние каталоги из URL - PullRequest
1 голос
/ 10 октября 2011

Мне нужно регулярное выражение, которое соответствует двум виртуальным папкам; первый и последний в данном URL:

www.example.com / first_folder / некоторые / дополнительные / связка / из / папки / last_folder /

пока у меня есть это регулярное выражение: (?<!/)/[^/?#]+, но оно соответствует всем папкам: (

Мне нужно это для правила перезаписи, чтобы использовать в WordPress. Быстрый и грязный пример переписывания http://mysite/project/1 в http://mysite/index.php?pagename=project&id=1:

$newrules = array();
$newrules['(project)/(\d*)$'] = 'index.php?pagename=$matches[1]&id=$matches[2]';

1 Ответ

2 голосов
/ 10 октября 2011

Быстрый и грязный раствор, т. Е. Не тщательно протестированный с миллиардом возможных комбинаций URL-адресов и т. Д., Поэтому возьмите его с зерном соли.

.*?/(\w+)/.*?/(\w+)/$

Ввод:

www.example.com/first_folder/some/additional/bunch/of/folders/last_folder/

Вывод:

$1 prints first_folder
$2 prints last_folder
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...