Чтобы получить текущий URL-адрес, вы можете использовать что-то вроде $url = "http://".$_SERVER['HTTP_HOST'].$_SERVER['REQUEST_URI'];
. Если вы хотите точно сопоставить то, что находится между первым и вторым / пути, попробуйте использовать напрямую $_SERVER['REQUEST_URI']
:
<?php
function match_uri($str)
{
preg_match('|^/([^/]+)|', $str, $matches);
if (!isset($matches[1]))
return false;
return $matches[1];
}
echo match_uri($_SERVER['REQUEST_URI']);
Просто для удовольствия версия с strpos()
+ substr()
вместо preg_match()
, которая должна быть на несколько микросекунд быстрее:
function match_uri($str)
{
if ($str{0} != '/')
return false;
$second_slash_pos = strpos($str, '/', 1);
if ($second_slash_pos !== false)
return substr($str, 1, $second_slash_pos-1);
else
return substr($str, 1);
}
HTH