웹프로그래밍/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;

 

// 출력결과

// 안녕하세요


[출처] http://cafe.naver.com/proworld/31