извлечь имя скрипта из URL - PullRequest
       2

извлечь имя скрипта из URL

1 голос
/ 08 декабря 2011

Я ищу справку по регулярному выражению, как извлечь только имя скрипта из URL:

У меня есть:

"http://www.example.com/index234.html"

и я хочу получить "index234"?

Ответы [ 3 ]

6 голосов
/ 08 декабря 2011

Использование parse_url

$url = 'http://www.example.com/index234.html';
$parts = parse_url($url);
preg_match('~([^/]+)\..+$~', $parts['path'], $m);
print_r($m);

выход:

Array
(
    [0] => index234.html
    [1] => index234
)
3 голосов
/ 08 декабря 2011

использовать это регулярное выражение:

/^http:\/\/(www\.)?example.com\/(?<scriptName>.*)\.html$/

Редактировать:

это регулярное выражение будет работать для разных URL-адресов идорожки

/^http:\/\/(www\.)?(.*\/)*(?<scriptName>.*)\..*$/
0 голосов
/ 08 декабря 2011

попробуй: http://([\w\-\.]+/)+([\w\-\.]+)\.html имя сценария находится во втором захвате ($ 2 или \ 2). вы можете настроить протокол и расширение файла по мере необходимости, обратите внимание, что я действительно не знаю, какие символы фактически разрешены для имени URL, поэтому в этом случае я предполагаю только буквы, цифры, дефисы и точки.

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