Помогите составить регулярку PHP

241
04 октября 2017, 10:17

Есть строка

http://torrent2/o-skripte/3-post4.html
Жирным выделил то, что нужно получить (цифру 3).
http://torrent2 - это часть постоянная
/o-skripte/ - эта может быть, а может и не быть в урле
3 - id новости. Его и нужно вытащить
-post4.html - часть постоянно будет меняться.

Нужно вытащить именно ID (в нашем случае цифру 3), что находится между

http://torrent2/o-skripte/

и

-post4.html

Помогите, уже голову сломал.

Ссылки могут быть и такого вида:

http://torrent2/3-post4.html
http://torrent2/o-skripte/podcateg/3-post4.html

Id везде стоит цифрой и после него идет тире.

Answer 1

Еще один вариант: /\d+(?=-\w+.html)/g

UPD: вот, пример использования в preg_match

$url = 'http://torrent2/o-skripte/podcateg/3-post4.html';
$extract = array();
preg_match('~\d+(?=-\w+.html)~', $url, $extract);
echo $extract[0];

$extract[0] - и есть ваше значение (в примере - "3")

Answer 2

Как вариант:

/\d+(?=-[a-zA-Z0-9]+\.html)/g
READ ALSO
Как сверстать картинку по ширине и высоте в квадратный див не растягивая?

Как сверстать картинку по ширине и высоте в квадратный див не растягивая?

Добрый день! Помогите с верской картинкиЕсть квадратный див с картинкой (точнее галереей) в которой есть картинки как прямоугольные вертикальные...

227
Оцените код тестов

Оцените код тестов

Сделал тесты, без БД и файлов и ответов нету в браузере

191
SugarCrm CE 6.5: Где происходит загрузка subpanels?

SugarCrm CE 6.5: Где происходит загрузка subpanels?

Ребят есть у меня готовый код который высчитывает время загрузки того или иного кодав коде предусматривается получение названия субпанели

132