2011-02-04 4 views
2

나는 curently 때문에 사용자가 때 쿼리 주소 + 사용하는 20 %를 교체 하십시오하는 방법 결과 http://localhost/search?q=iphone%204PHP 교체 20 %

의 링크와 같은 시간을 복사 할 때 $ _GET 를 사용하여 내 시스템에 대한 검색을 만들기 위해 노력 sql, 'iphone 4'가 아니라 'iphone 4'를 검색합니다.

어떤 아이디어가 있습니까?

감사

+0

양식이나 링크를 사용하고 계신가요? –

답변

5

사용 urlencode 인코딩 할 수 있습니다. 디코딩은 자동으로 이루어 지므로 $_GET에서 값을 읽어야합니다.

+0

$ _GET +1, 파멜라가 무언가를 놓친 것 같아요. –

6

는 쿼리에 대한 공간으로 플러스를 변경하려면 +

$url = str_replace("%20", "+", $url); 

와 20 %를 교체하려면 :

$url = urldecode($url); 
+0

'% 20 '과'+'둘 다'urldecode()'다음에 공백으로 매핑되므로 첫 번째 단계는 필요하지 않습니다. – BoltClock

2

"% 2B"을 (를) 사용하여 "+"인코딩하십시오. 또는 urldecode 대신 rawurldecode를 사용하십시오. 그것이 당신이 필요로하는 것이 아니라면, 좀 더 구체적으로 코드를 제공하십시오.

1

당신은 방금 $_GET 배열을 사용하는 경우를 디코딩 할 필요가 없습니다 : 당신은 당신이 언급 한 링크를 사용하는 경우 http://ca.php.net/manual/en/reserved.variables.get.php

, 당신이 iphone 4가 발생합니다 echo $_GET['q']를 사용하여 쿼리에 액세스 할 수 있습니다, 당신은 explode(' ', $_GET['q'])을 사용할 수 있습니다 그 결과는 array('iphone', '4')이됩니다.