Как получить специальную часть URL, используя preg_match? - PullRequest
0 голосов
/ 09 ноября 2018

У меня есть такой URL,

https://example.com/folder-name/article-name-xxx-xxx-xxx-xxx-xxx-xxx-5b5964935583202d2beff315.html#id-41

Я пытаюсь получить 5b5964935583202d2beff315 и 41 в URL.

Я действительно хочу знать, как это сделать, и мне нужна помощь.Ваша помощь будет принята с благодарностью!

1 Ответ

0 голосов
/ 09 ноября 2018
$url = "https://example.com/folder-name/dien-hy-cong-luoc-story-of-yanxi-palace-5b5964935583202d2beff315.html#id-41";

preg_match("/^.+-([^.-]+)\.html#id-(\d+)/", $url, $matches);
print_r($matches);

Выход:

Array
(
    [0] => https://example.com/folder-name/dien-hy-cong-luoc-story-of-yanxi-palace-5b5964935583202d2beff315.html#id-41
    [1] => 5b5964935583202d2beff315
    [2] => 41
)

Пояснение:

/               : regex delimiter
  ^             : beginning of line
    .+          : 1 or more any character but newline
    -           : a dash
    ([^.-]+)    : group 1, 1 or more any character that is not a dot or dash
    \.          : a dot
    html#id-    : literally 
    (\d+)       : group 2, 1 or more digits
/
...