Что не так в сравнении а, б == 1,2? [Дубликат]

Чтобы получить текущий 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

10
задан antimirov 9 August 2019 в 19:35
поделиться