Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/279.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 提取与$\u GET具有相同结果的URL字符串_Php_String_Get - Fatal编程技术网

Php 提取与$\u GET具有相同结果的URL字符串

Php 提取与$\u GET具有相同结果的URL字符串,php,string,get,Php,String,Get,好的,我有一个这样的字符串: index.php?page=test2;sa=废话 我只需要获取使用$\u GET['page']返回的内容,因此在本例中它将返回test2。但在返回实际字符串之前,页面必须直接在index.php?之后定义。我该怎么做?我只需要从page变量的$GET返回相同的结果。我也可以这样做: index.php?page=blah 应该返回blah 或者这个: index.php?page=anything&sa=blah 返回任何内容 或者这个: index.php?

好的,我有一个这样的字符串:

index.php?page=test2;sa=废话

我只需要获取使用
$\u GET['page']
返回的内容,因此在本例中它将返回
test2
。但在返回实际字符串之前,页面必须直接在
index.php?
之后定义。我该怎么做?我只需要从page变量的$GET返回相同的结果。我也可以这样做:

index.php?page=blah

应该返回
blah

或者这个:

index.php?page=anything&sa=blah

返回
任何内容

或者这个:

index.php?action=blah;第2页

返回空字符串,因为它不是直接在
index.php?

或者基本上是任何url,但它需要获取页面变量(如果它存在),只有在
index.php?
之后。有时页面可能根本不存在,在这种情况下,应该返回一个空字符串


我该怎么做?我没有在浏览器中浏览到URL,因此,我认为$\u-GET不起作用,但它需要模拟并返回与$\u-GET在浏览器中返回的结果完全相同的结果,但只有当
页面
直接在
index.php?之后定义时,才是您的朋友。

和您的朋友。

请使用以下代码:

function get($name, $url) {
   $src = parse_url($url);
   $src = $src['query'];
   parse_str($src, $tag);
   return $tag[$name];
}

请使用以下代码:

function get($name, $url) {
   $src = parse_url($url);
   $src = $src['query'];
   parse_str($src, $tag);
   return $tag[$name];
}


您可以通过比较或简单的if语句来检查在$\u GET处接收的元素是否与预期的相等。如果没有,则处理字符串以找到它(如果需要)。也可以使用元素的索引来确定过程是否正确

您可以通过比较或简单的if语句来检查在$\u GET处接收的元素是否与您期望的相等。如果没有,则处理字符串以找到它(如果需要)。也可以使用元素的索引来确定过程是否正确

具体来说,
parse_str
。并使用第二个(数组输出)参数,而不是依赖注入到当前作用域(可能是全局的)。这些函数将使您朝着正确的方向前进,我这样做是为了将url转换为数组,反之亦然,使用这些函数变得很简单。嘿,我尝试过,这会影响以下内容,并且不起作用:
$link='index.php?page=test2;sa=废话;parse_str($link,$page_输出)$page_output['page']返回空字符串
那么,
$page_output['page']
怎么会不起作用呢???@SoLo首先用
parse_URL
解析URL
parse_str
只解析查询部分(在
之后的部分)。具体来说,
parse_str
。并使用第二个(数组输出)参数,而不是依赖注入到当前作用域(可能是全局的)。这些函数将使您朝着正确的方向前进,我这样做是为了将url转换为数组,反之亦然,使用这些函数变得很简单。嘿,我尝试过,这会影响以下内容,并且不起作用:
$link='index.php?page=test2;sa=废话;parse_str($link,$page_输出)$page_output['page']返回空字符串
那么,
$page_output['page']
怎么会不起作用呢???@SoLo首先用
parse_URL
解析URL
parse_str
只解析查询部分(在
之后的部分)。您的示例没有帮助,因为它在
index.php?
之后返回整个文本。因此,对您的示例执行相同的操作将返回以下结果:
test2;sa=blah
它应该只返回
test2
。如何做到这一点???@SoLo这是正确的行为,因为
不是分隔符<代码>&
是。任何一个都可以在我的网站上使用,那么如何模仿
$\u GET['page']
呢??在任何情况下,即使我使用&作为分隔符,对于这个答案,它仍然返回:
test2&sa=blah
Ok,我使用您的方法实现了这一点。感谢您提供的示例:)您的示例没有帮助,因为它返回了
index.php?
之后的整个文本。因此,对您的示例执行相同的操作将返回以下结果:
test2;sa=blah
它应该只返回
test2
。如何做到这一点???@SoLo这是正确的行为,因为
不是分隔符<代码>&
是。任何一个都可以在我的网站上使用,那么如何模仿
$\u GET['page']
呢??在任何情况下,即使我使用&作为分隔符,对于这个答案,它仍然返回:
test2&sa=blah
Ok,我使用您的方法实现了这一点。谢谢你的例子:)