rawurldecode () 함수는 URL에 인코딩 된 문자열을 해독하는 데 사용됩니다. URL에서 인코딩 백분율 (예 : %20 평균 공간)을 원래 문자로 변환합니다. urldecode () 와 달리 rawurldecode ()는 RFC 3986 표준에 따라 인코딩을 엄격하게 처리합니다. 특히 공백을 처리 할 때 플러스 부호 ( + )를 공간으로 변환하지 않고 %20을 공백으로 디코딩합니다.
이렇게하면 rawurldecode ()가 문자열의 매개 변수를 쿼리하는 것보다 경로 부분의 URL을 처리하는 데 더 적합합니다.
<?php
$encoded = 'https%3A%2F%2Fgitbox.net%2Fpath%2Fwith%20space';
$decoded = rawurldecode($encoded);
echo $decoded;
// 산출: https://gitbox.net/path/with space
?>
urldecode ()는 + 부호 +를 공백으로 변환합니다. 이는 URL 쿼리 매개 변수를 구문 분석 할 때 일반적인 요구 사항입니다.
rawurldecode ()는 백분율 부호 인코딩을 엄격하게 디코딩하고 플러스 부호를 변경하지 않습니다.
URL 경로에 플러스 부호가 포함되어 있고 공간으로 변환되기를 원하지 않으면 rawurldecode ()를 사용해야합니다.
들어오는 문자열이 올바르게 인코딩 된 URL 조각 <br>인지 확인하십시오 . 입력 문자열에 인코딩되지 않은 특수 문자가있는 경우 디코딩 후 예기치 않은 문자가 나타날 수 있습니다. 먼저 URL을 올바르게 코딩하는 것이 좋습니다.
다중 디코딩을 피하십시오 <br> rawurldecode () 에 대한 여러 통화는 %2520 (인코딩 된 인코딩)과 같은 잘못된 결과를 초래할 수 있으며 공간이됩니다.
중국어 및 다중 바이트 캐릭터를 처리하십시오 <br> UTF-8 인코딩 된 URL의 경우 rawurldecode ()를 정상적으로 디코딩 할 수 있지만 인코딩이 통합되어야합니다.
<?php
// 외부에서 얻은 것을 시뮬레이션합니다URL인코딩 된 문자열
$url = 'https%3A%2F%2Fgitbox.net%2Fsearch%3Fq%3Dphp%2Brawurldecode%2520function';
// 사용rawurldecode디코딩
$decoded_url = rawurldecode($url);
echo "원래 인코딩URL: $url\n";
echo "디코딩后的URL: $decoded_url\n";
// 산출:
// 원래 인코딩URL: https%3A%2F%2Fgitbox.net%2Fsearch%3Fq%3Dphp%2Brawurldecode%2520function
// 디코딩后的URL: https://gitbox.net/search?q=php+rawurldecode%20function
?>
위의 코드를 통해 rawurldecode ()가 백분율 부호 인코딩 백분율을 올바르게 복원하고 플러스 부호를 변경하지 않음을 알 수 있습니다.
rawurldecode ()를 사용하면 URL 경로에서 특수 문자를 안전하게 디코딩하여 플러스 부호 문제가 공백으로 오해되는 문제를 피할 수 있습니다.
다중 디코딩을 피하고 입력 문자열 인코딩의 정확성을 보장하십시오.
특정 요구에 따라 적절한 인코딩 및 디코딩 기능을 선택하여 프로그램의 안정적인 작동을 보장하십시오.
RawUrlDecode () 를 올바르게 사용하면 PHP 프로그램이 URL의 특수 문자를 효과적으로 처리하고 예외를 피하며 프로그램 견고성을 향상시키는 데 도움이 될 수 있습니다.