如何在PHP中获取当前链接的子字符串?

时间:2014-09-01 08:35:46

标签: php hyperlink substring

我有这个PHP链接:

http://localhost/OnlineShop/show_cat.php?catid=1

我希望能够在" ="之后获得链接的子字符串值。并在同一页面上可视化。在这种情况下是1。

6 个答案:

答案 0 :(得分:8)

使用可以简单地使用parse_url()parse_str()从网址获取参数值。

你可以这样做:

$url ="http://localhost/OnlineShop/show_cat.php?catid=1";
$parts = parse_url($url);
parse_str($parts['query'], $query);
echo $query['catid'];

DEMO

想要更少的代码???尝试更简单的方法@Hanky웃Panky建议:

$url ="http://localhost/OnlineShop/show_cat.php?catid=1";
parse_str(parse_url($url,PHP_URL_QUERY), $query);
echo $query['catid'];

DEMO

答案 1 :(得分:1)

如果这是在你的服务器上,你可以使用$_GET超全球(就像其他答案所建议的那样)

if( array_key_exists('catid', $_GET) ) {
  echo $_GET['catid'];
}

但是,如果你想评估网址,而不是在地址栏中;使用parse_url和字符串操纵器的混合。

$arrUrl = parse_url('http://localhost/OnlineShop/show_cat.php?catid=1');

echo $intCatId = filter_var($arrUrl['query'], FILTER_SANITIZE_NUMBER_INT);

https://eval.in/186415

文档

答案 2 :(得分:0)

你想这样:

if(isset($_GET['catid'])){

      echo $_GET['catid']; 

}

答案 3 :(得分:0)

explode("=", $sting)[1]

有很多方法。

答案 4 :(得分:0)

这也可以是一种方式:

$string = "http://localhost/OnlineShop/show_cat.php?catid=1";
$id = substr($string, strpos($string, '=') + 1);

答案 5 :(得分:0)

您可以像这样打印变量

  

if(isset($ _ GET [' catid'])){echo $ _GET [' catid']; }

OR

您也可以使用

  

$ _ REQUEST [' CATID']

访问它。