Как извлечь слово с помощью регулярных выражений в PHP? - PullRequest
1 голос
/ 27 марта 2010

Как мне извлечь foo из следующего URL и сохранить его в varialbe, используя регулярное выражение в php?

http://example.com/pages/foo/inside.php

Я немного погуглил для ответа, но большинство примеров регулярных выражений были слишком сложны, чтобы я мог их понять.

Ответы [ 4 ]

1 голос
/ 27 марта 2010

Если , первая часть инвариантна:

$s = 'http://example.com/pages/foo/inside.php';
preg_match('@^http://example.com/pages/([^/]+).*$@', $s, $matches);
$foo = $matches[1];

Основная часть - ([^/]+), которая соответствует всему, что не косая черта (/). То есть мы сопоставляем, пока не найдем следующий слеш или конец строки (если часть «foo» может быть последней).

1 голос
/ 27 марта 2010

Ну, может быть несколько решений, в зависимости от того, по какому правилу вы хотите извлечь foo.Поскольку вы еще не указали это, я просто предполагаю, что вы хотите получить имя папки текущего файла (если это не так, пожалуйста, расширьте свой вопрос).

1 голос
/ 27 марта 2010
preg_match('~pages/(.+?)/~', "http://example.com/pages/foo/inside.php", $matches);
echo $matches[1];
0 голосов
/ 28 марта 2010
$str = 'http://example.com/pages/foo/inside.php';
$s=parse_url($str);
$whatiwant=explode("/",$s['path']);
print $whatiwant[2];
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...