通过 PHP 获取 URL 的第二部分

Getting the second part of a URL through PHP

我正在尝试设置一个只提取 URL 一部分的页面,但我什至无法让它在我的页面上回显。

因为我在 PHP 中编码,所以我更喜欢动态页面,所以我的网址通常有“index.php?page=whatever” 我只需要“随便”的部分。

谁能帮帮我。这是我目前所拥有的,但就像我说的,我什至无法让它回显。

$suburl = substr($_SERVER["HTTP_HOST"],strrpos($_SERVER["REQUEST_URI"],"/")+1);

为了回应它,我当然有这个:

echo "$suburl";

您可以使用基本的 PHP 函数 parse_url 例如:

<?php

$url = 'http://site.my/index.php?page=whatever';

$query = parse_url($url, PHP_URL_QUERY);

var_dump(explode('=', $query));

这里的工作代码示例:PHPize.online

如果需要获取page参数的值,只需使用$_GET全局变量来访问该值即可。

$page = $_GET['page']; // output => whatever

你的 url 是 index.php?page=whatever 并且你想从中得到 任何东西

如果部分在?(abc.com/xyz.php?......)之后,可以使用$_GET[ 'name']


为了你的urlindex.php?page=whatever

使用:

$parameter= $_GET['page']; //($parameter 的值是任意值)


为了你的urlindex.php?page=whatever&no=28

使用:

$parameter1= $_GET['page']; //($parameter1 的值是任意值)

$parameter2= $_GET['no']; //($parameter2 的值为 28)


请在使用 $_GET 接收到的参数之前,请对其进行清理,否则您可能会发现恶意脚本/代码注入的麻烦

对于 url : index.php?page=whatever&no=28

喜欢:

if(preg_match("/^[0-9]*$/", $_GET['no'])) {
   $parameter2= $_GET['no'];
}

它会检查,如果GET参数no是一个数字(只包含0到9个数字),那么只将它保存在$parameter2 变量。 这只是一个示例,请根据您的要求进行检查和验证。