다음과 같은 형식의 POST 요청을 사용하여 데이터를 보내는 cakePHP에 컨트롤러 작업이 있습니다.마지막 괄호 사이의 데이터 읽기
address?level=node[Job][qs3]
GET 요청에서 "qs3"값만 반환하는 가장 우아한 방법은 php 또는 cakePHP입니다.
현재 $ _GET [ 'level']의 값을 출력 할 때 "node [Job] [qs3]"을 반환 중입니다. 나는 "qs3"만 돌려주고 싶다. 아마
다음과 같은 형식의 POST 요청을 사용하여 데이터를 보내는 cakePHP에 컨트롤러 작업이 있습니다.마지막 괄호 사이의 데이터 읽기
address?level=node[Job][qs3]
GET 요청에서 "qs3"값만 반환하는 가장 우아한 방법은 php 또는 cakePHP입니다.
현재 $ _GET [ 'level']의 값을 출력 할 때 "node [Job] [qs3]"을 반환 중입니다. 나는 "qs3"만 돌려주고 싶다. 아마
당신은 또한 여기에 0 %의 정밀함, 따라서 무한 루프를 가지고 그 일의 더러운 방법은,의이
$level = explode("[",$_GET['level']);
echo trim(end($level), "]");
더 영리한 솔루션을 원했지만. 비록 당신이 대답을 수여하기 전에 좀 더 오래 기다려야한다 :) – AshHimself
나는 당신이 지금 그것을 확인할 수있는 정규식으로 나의 대답을 업데이트했다. –
그레이트 .. thanks Ram! – AshHimself
:
$_GET['level']['node']['Job']['qs3']
또는 작업은 여기에 변수
$_GET['level']['node'][$Job]['qs3']
어쨌든 print_r ($ _ REQUEST)가 당신에게 도움이 될 것입니다
죄송합니다. 잭, 내가 충분히 설명 할 지 확신하지 못합니다. 나는 "오직"qs3 변수를 조회에 사용하기 위해 노력하고 있습니다. 나는 노드 나 욥에 대해 신경 쓰지 않는다. 나는 그 말이 의미가되기를 바란다 : – AshHimself
preg_match가 그것을 할 것이 확실하다 'preg_match_all ("~ \ ((^ \)] *) \] ~", $ _GET [ 'level'], $ m);' 마지막 괄호의 내용을 검색하려면 end ($ m) [1] – Jack
같은 시도 할 수 있습니다이
preg_match_all("/\[([^\]]*)\]/", $_GET['level'], $matches);
echo $matches[1][1];
의 정규 표현식을 사용할 수 있습니다 :
$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
도움 Tibor B 주셔서 감사합니다. 지금까지 아래의 의견은 이것보다 간단하고 현재 작업 중입니다 :) – AshHimself
내가 출력을 pr ($ this-> request-> data); 또는 디버그 ($ this-> request-> data); – Abhishek