Я хотел бы использовать PHP для извлечения информации из URL-адреса. Как я могу получить значение «матовый» из URL-адреса:
www.shareit.me/matt
Кроме того, как я могу проверить, есть ли там значение для начала?
Я хотел бы использовать PHP для извлечения информации из URL-адреса. Как я могу получить значение «матовый» из URL-адреса:
www.shareit.me/matt
Кроме того, как я могу проверить, есть ли там значение для начала?
Здесь не нужно ничего усложнять:
$url = 'www.shareit.me/matt';
$segs = explode('/', $url);
echo $segs[1]; // matt
Проверить, существует ли он, так же просто, как if ( !empty($segs[1]) ) {}
Предполагая, что вам нужно значение matt
, а не только «путь», это будет работать со всем этим:
www.shareit.me/matt // matt
www.shareit.me/matt/photos
www.shareit.me/matt/photos/vacation/nebraska/cows/ // matt
www.shareit.me/matt/photos?vacation=mexico&gallery=donkeyshow // matt
www.shareit.me/matt/loves/cheese // matt
Если вы действительно хотите, чтобы люди знали, что Мэтт любит сыр, вам следует использовать parse_url() вместо этого:
parse_url('www.shareit.me/matt/loves/cheese', PHP_URL_PATH); // /matt/loves/cheese
вуаля, RTM: http://php.net/manual/en/function.parse-url.php
<?php
$url = 'http://username:password@hostname/path?arg=value#anchor';
print_r(parse_url($url));
echo parse_url($url, PHP_URL_PATH);
?>
Приведенный выше пример выведет:
Array
(
[scheme] => http
[host] => hostname
[user] => username
[pass] => password
[path] => /path
[query] => arg=value
[fragment] => anchor
)
/path
/matt
, а не matt
- person AlienWebguy; 04.03.2013
Вы можете использовать функцию parse_url, она вернет массив со всей информацией об URL. Что-то вроде этого, вероятно, то, что вы хотели бы:
echo explode('/', parse_url('http://www.shareit.me/matt')['path'])[1];
foo.com/matt/images
? Я предполагаю, что он пытается получить имя пользователя или что-то из URL.
- person AlienWebguy; 04.03.2013
$url = "http://www.shareit.me/matt";
$parts = Explode('/', $url);
$id = $parts[count($parts) - 1];
Кстати, Получение части строки эм>.
Если вы хотите получить URL-адрес, который используется для перехода к скрипту, вы используете переменную $_SERVER['REQUEST_URI']
. В вашем случае он вернет это:
/matt
Но вам нужно будет отфильтровать информацию, которая вам действительно нужна. Для этого вы можете использовать preg_match
или альтернативный способ. Для получения дополнительной информации о переменной $_SERVER
: см. эту страницу
Если вы хотите получить информацию о строке, содержащей URL-адрес, вы можете использовать
взорвать("/", $url);
вы можете использовать регулярное выражение с preg_match
preg_match("/.\/(.*)$/",$url,$matches);
чем проверять совпадения, если они содержат то, что вы хотите