URL 경로에서 파일명 확장자를 뺀 경로를 일치시킵니다.

이 시나리오에 가장 적합한 정규식은 무엇인가요?

이 URL이 주어집니다:

http://php.net/manual/en/function.preg-match.php

00.php` 사이의 모든 것을 선택하려면 어떻게 해야 하나요?

/manual/en/function.preg-match

이것은 Nginx 구성 파일에 대한 것입니다.

해결책

이렇게요:


if (preg_match('/(?
해설 (2)

이렇게 해보세요:

preg_match("/net(.*)\.php$/","http://php.net/manual/en/function.preg-match.php", $matches);
echo $matches[1];
// prints /manual/en/function.preg-match
해설 (0)

이 일반 URL 일치를 사용하면 URL의 일부를 선택할 수 있습니다:

if (preg_match('/\\b(?Phttps?|ftp):\/\/(?P[-A-Z0-9.]+)(?P\/[-A-Z0-9+&@#\/%=~_|!:,.;]*)?(?P<parameters>\\?[-A-Z0-9+&@#\/%=~_|!:,.;]*)?/i', $subject, $regs)) {
    $result = $regs['file'];
    //or you can append the $regs['parameters'] too
} else {
    $result = "";
}
해설 (0)