검색어를 입력하고 양식이 search.php?query=your query
에 제출 된 검색 페이지를 만들고 있습니다. 어떤 PHP 함수가 최고이며 검색 쿼리를 인코딩/디코딩하는 데 사용해야합니까?PHP에서 URL을 올바르게 URL 인코딩하는 방법은 무엇입니까?
답변
URI 쿼리의 경우 urlencode
/urldecode
; 다른 용도로는 rawurlencode
/rawurldecode
을 사용하십시오.
urlencode
및 rawurlencode
차이는
rawurlencode
함께 인코딩 일반 Percent-Encoding (공간에 따라 인코딩 동안
urlencode
는 (공간+
로 인코딩) application/x-www-form-urlencoded에 따른 인코딩이다%20
).
* application/x-www-form-urlencoded *는 * Percent-Encoding *은 HTML 양식 데이터를 인코딩하는 경우에만 적용됩니다. – Gumbo
더 나은 인코딩은 form-urlencoded 또는 percent입니까? –
@ Upvote를 클릭하십시오 : 그런 식으로는 비교할 수 없습니다. * application/x-www-form-urlencoded * 형식은 공간이 % 20 대신에 +로 인코딩된다는 점을 제외하고 * Percent-Encoding * 형식입니다. 게다가 * application/x-www-form-urlencoded *는 * Percent-Encoding *이 좀 더 일반적인 용도로 사용되는 동안 양식 데이터를 인코딩하는 데 사용됩니다. – Gumbo
교묘히 명명 된 urlencode() 및 urldecode().
그러나 및 $_GET
에 나타나는 변수에는 urldecode()
을 사용할 필요가 없습니다.
교묘하게 이름 붙인'rawurlencode'와'rawurldecode' ... –
예외적 인 인코딩이 필요한 사용 사례입니다. 어쩌면 당신은 그것을 고안 한 것 같지만, 우리는 이것을 생산 단계에서 운영합니다. 우연히도 모든 유형의 인코딩을 다루므로 튜토리얼로 게시하고 있습니다.
사용 사례 설명
누군가가 우리의 웹 사이트에 선불 기프트 카드 ("토큰")를 샀다. 토큰에는 URL을 사용하여 해당 URL을 사용합니다. 이 고객은 다른 사람에게 이메일을 보내려고합니다. 당사 웹 페이지에는이를 수행 할 수있는 mailto
링크가 포함되어 있습니다.
PHP 코드
// The order system generates some opaque token
$token = 'w%a&!e#"^2(^@azW';
// Here is a URL to redeem that token
$redeemUrl = 'https://httpbin.org/get?token=' . urlencode($token);
// Actual contents we want for the email
$subject = 'I just bought this for you';
$body = 'I just bought a widget for you. Please enter your shipping details here: ' . $redeemUrl;
// A URI for the email as prescribed
$mailToUri = 'mailto:?subject=' . rawurlencode($subject) . '&body=' . rawurlencode($body);
// Print an HTML element that links to that page
echo '<a href="' . htmlspecialchars($mailToUri) . '">Email your friend</a>';
참고 : 위의 당신이 text/html
문서를 출력하는 것으로 가정합니다. 출력 미디어 유형이 text/json
인 경우 출력 인코딩이 json_encode()
으로 처리되기 때문에 $retval['url'] = $mailToUri;
을 사용하면됩니다.
테스트 케이스
- 하는 PHP 테스트 사이트의 코드를 실행 (내가 여기 언급해야 정규 일이?)
- 보내기 이메일을 링크
- 을 클릭
- 이메일 받기
- 해당 링크를 클릭하십시오.
당신은 볼 수 :
"args": {
"token": "w%a&!e#\"^2(^@azW"
},
그리고 물론
이 위$token
의 JSON 표현입니다.
- 1. 악센트를 올바르게 인코딩하는 방법은 무엇입니까?
- 2. bash 스크립트에서 URL을 인코딩하는 방법은 무엇입니까?
- 3. PHP에서 URL을 라우팅하는 방법은 무엇입니까?
- 4. URL을 인코딩하는 가장 좋은 방법은 무엇입니까?
- 5. JavaScript 및 PHP로 URL을 인코딩하는 방법은 무엇입니까?
- 6. URL 청크를 인코딩하는 방법
- 7. 공백을 허용하기 위해 MPMoviePlayerController에서 contentUrl을 올바르게 인코딩하는 방법은 무엇입니까?
- 8. URL에 게시 할 XML 문자열을 .NET에서 올바르게 인코딩하는 방법은 무엇입니까?
- 9. 로컬 무비 URL을 올바르게 구성하는 방법은 무엇입니까?
- 10. 비디오를 인코딩하는 방법은 무엇입니까?
- 11. NSInvocation을 인코딩하는 방법은 무엇입니까?
- 12. NSDecimal을 인코딩하는 방법은 무엇입니까?
- 13. 파이썬으로 인코딩하는 방법은 무엇입니까?
- 14. Java에서 BouncyCastle을 사용하여 DH 매개 변수를 올바르게 인코딩하는 방법은 무엇입니까?
- 15. Java에서 특수 문자를 피하기 위해 URL을 인코딩하는 방법은 무엇입니까?
- 16. PHP에서 PATH 변수를 올바르게 분할하는 방법은 무엇입니까?
- 17. PHP에서 대량의 변수를 올바르게 정의하는 방법은 무엇입니까?
- 18. php에서 url을 사용하여 변수를 전달하는 방법은 무엇입니까?
- 19. PHP에서 .htaccess를 사용하여 URL을 리디렉션하는 방법은 무엇입니까?
- 20. .htaccess를 사용하여 PHP에서 URL을 리디렉션하는 방법은 무엇입니까?
- 21. liferay template : url을 인코딩하는 방법
- 22. PHP에서 URL 마스킹?
- 23. 일괄 업 로더에서 텍스트를 올바르게 인코딩하는 경우
- 24. URL 라우팅이나 URL 재 작성없이 ASP.NET URL을 변환하는 방법은 무엇입니까?
- 25. 따옴표 및 공백을 인코딩하는 URL
- 26. URL을 CakePHP 매개 변수로 인코딩하는 방법
- 27. URL을 GET 매개 변수로 전달하기 위해 인코딩하는 방법
- 28. PHP에서 URL 구문 분석
- 29. PHP에서 태그가있는 에코 이미지 URL
- 30. Oracle에서 문자열을 인코딩하는 방법은 무엇입니까?
문제가 있습니까? 브라우저와 PHP는 자동으로이를 처리해야합니다 (예 : 텍스트 필드에'foo bar '를 넣고 URL에'foo + bar'를 생성). –
@Felix 나는'file_get_contents'를 사용하여 searcher 스크립트를 호출 할 것입니다. –