我在cakePHP中有一个控制器动作,使用POST请求以下列格式发送数据;
address?level=node[Job][qs3]
php或cakePHP中最优雅的方式是从GET请求中返回值“qs3”。
目前当我输出$ _GET ['level']的值时,我将返回“node [Job] [qs3]”。我只想返回“qs3”。
答案 0 :(得分:1)
您也可以使用此
的正则表达式preg_match_all("/\[([^\]]*)\]/", $_GET['level'], $matches);
echo $matches[1][1];
你可以这样尝试
$level = explode("[",$_GET['level']);
echo trim(end($level), "]");
答案 1 :(得分:0)
可能:
$_GET['level']['node']['Job']['qs3']
或者如果Job是一个变量
$_GET['level']['node'][$Job]['qs3']
或用$ _POST替换$ _GET(不确定已理解)
无论如何,print_r($ _ REQUEST)将帮助你解决这个问题
答案 2 :(得分:0)
这是一种肮脏的做法,它具有0%的优雅,因此无限循环:
$text = "address?level=node[Job][qs3]";
$temp = $text;
while (true) {
$begin = explode("[", $temp, 2);
if (isset($begin[1])) {
$end = explode("]", $begin[1], 2);
$result = $end[0];
$temp = $end[1];
} else {
break;
}
}
echo $result;
PHPFiddle:http://phpfiddle.org/main/code/8hz7-bstu