我有这样的字符串:
index.php?url=index/index
index.php?url=index/index/2&a=b
我正在尝试获取字符串的这一部分:index/index
或index/index/2.
我尝试过parse_str函数但没有成功。 感谢。
答案 0 :(得分:2)
您应该可以使用$ _SERVER ['QUERY_STRING'],如下所示:
$url_params = $_SERVER['QUERY_STRING']; // grabs the parameter
$url_params = explode( '/', $url_params ); // seperates the params by '/'
返回一个数组
示例index.php?url = index / index2现在变为:
$url_params[ 0 ] = index;
$url_params[ 1 ] = index2;
答案 1 :(得分:0)
没有更多信息:
// Example input
$input = "index.php?url=index/index/2&a=b";
$after_question_mark = explode("=",$input)[1];
if (strstr($after_question_mark, "&")){
// Check for ampersand
$before_ampersand = explode("&",$after_question_mark)[0];
$desired_output = $before_ampersand; // 'index/index/2'
} else {
// No ampersand
$desire_output = $after_question_mark;
}
更有弹性的选择:
wait.until(ExpectedConditions.visibilityOfElementLocated
(By.xpath("//a[text()='Show advanced settings...']"))).click();
答案 2 :(得分:-1)
$url = "index.php?url=index/index/2&a=b";
$query = parse_url($url, PHP_URL_QUERY);
$output = substr($query, $strpos($query, "=") + 1);
output: index/index/2&a=b
这将为您提供问号后的所有内容
您可以在parse_url
上获得更多信息或
$url = "index.php?url=index/index/2&a=b";
$output = substr($url, strpos("=") +1, $strrpos($url, "&") - strlen($url));
output: index/index/2
如果您真的只想从字符串中获取子字符串,则不需要进入数组来创建开销
这将在没有查询字符串的情况下返回false