웹프로그래밍/PHP
escape 문자열 PHP에서 unescape
공허공자
2010. 8. 17. 17:27
PHP에서 iconv 사용가능 하여야 합니다.
function tostring($text) { //return iconv('UTF-16LE', 'UTF-8', chr(hexdec(substr($text[1], 2, 2))).chr(hexdec(substr($text[1], 0, 2)))); return iconv('UTF-16LE', 'UHC', chr(hexdec(substr($text[1], 2, 2))).chr(hexdec(substr($text[1], 0, 2)))); } function urlutfchr($text){ return rawurldecode(preg_replace_callback('/%u([[:alnum:]]{4})/', 'tostring', $text)); }
처리할 문서가 charset euc-kr 일경우 함수 tostring 에서 iconv 2번째인자를 "UHC" 로
utf8 일경우 "UTF-8"로 지정한다.
예)
$escapeString = "%uC548%uB155%uD558%uC138%uC694"; // 자스에서 "안녕하세요"를 escape 한 문자열
$unEscapeString = urlutfchr($escapeString);
echo $unEscapeString;
// 출력결과
// 안녕하세요