728x90
반응형
■ PHP javascript escape 문자열 php unescape / escape() unescape() / 한글깨짐
■ 사용법
1. javascript > HTML input type="text" 입력값을 javascript 에서 escape(이스케이프) 처리 escape()
: 한글이 아닌 퍼센트(%), 숫자 및 영문자로 이루어진 문자열로 변환
<input type="text" id="tmpTxt" value="키보드" />
<script type="text/javascript">
var relKwd = $("#tmpTxt").val();
var kwd = escape(relKwd); // %uD0A4%uBCF4%uB4DC
var url = "submit_page.php?searchKwd=" + kwd;
location.href = url ;
</script>
2. php > unescape(언이스케이프) unescape()
: escape() 처리된 문자열을 다시 처리되기 전 문자열로 반환 *따로 함수가 존재하지 않아 함수 구현 후 사용해야 함
function Unescape($str){
return urldecode(preg_replace_callback('/%u([[:alnum:]]{4})/', 'UnescapeFunc', $str));
}
function UnescapeFunc($str){
return iconv('UTF-16LE', 'UTF-8', chr(hexdec(substr($str[1], 2, 2))).chr(hexdec(substr($str[1],0,2))));
}
$searchKwd = isset($_REQUEST['searchKwd']) ? $_REQUEST['searchKwd'] : "";
$realKwd = Unescape($searchKwd);
echo $realKwd; // 키보드
728x90
반응형
'PHP' 카테고리의 다른 글
[PHP] 문자열 공백제거 / 문자열 앞뒤 공백제거 trim() / 문자열 모든 공백제거 preg_replace() (0) | 2021.03.30 |
---|---|
[PHP] 소수점 올림/버림/반올림, 소수점 자리수 지정 (0) | 2021.03.25 |
[PHP] 배열 값 가져오기/반환 array_keys(), array_values() (0) | 2021.02.02 |
[PHP] php 배열 중복값 제거 / 다차원 배열 중복값 제거 array_unique() (0) | 2021.02.02 |
[PHP] 문자열 일부 자르기 substr() (0) | 2021.01.18 |