2011-03-08 3 views
3

asdf.com/index.php?a=0 & b = 2와 같은 URL을 사용하는 경우 a에 $ _GET을 사용하면 b은 2가됩니다. 하나의 $ _GET 함수에 넣은 용어는 이미 스테이크 & 치즈처럼 앰퍼샌드가 있습니다. $ _GET 변수를 사용하지 않고도 앰퍼샌드가 작동 할 때 앰퍼샌드가 나타나면 (즉 전체 기간을 가져 오지 않음) 작업이 끝나는 것을 생각할 수있는 방법이 있습니까?

답변

5

urlencode() 따라서 &%26으로 바뀝니다.

일부 매개 변수에서 쿼리 문자열을 만들어야하는 경우 대신 http_build_query()을 사용할 수 있으며 매개 변수를 URL 인코딩합니다.

수신 측에서는 $_GET 값이 PHP에 의해 디코딩되므로 검색어 문자열 a=Steak%26Cheese$_GET = array('a' => 'Steak&Cheese')에 해당합니다.

+0

얻을 인코딩, 앰퍼샌드에 spliting 유지 여부, 나를 위해 작동하지 마십시오 : [_GET] => 배열 ( [경로] => 프로젝트/스테이크 [치즈] => ) – CpILL

-1

여기 jQuery AJAX 요청에서 다루는 이전 게시물이 있지만 요약하면 uri를 인코딩해야합니다. 그러면 앰퍼샌드 값이 ASCII 값으로 변환됩니다. Ampersand in GET, PHP