PHP & Others

자바스크립트 escape unescape php 구현함수

컨텐츠 정보

본문

<?
function toString($text){
   return iconv('UTF-16LE', 'UHC', chr(hexdec(substr($text[1], 2, 2))).chr(hexdec(substr($text[1], 0, 2))));
}

 

function toUnicode($word) {
   $word = iconv('UHC', 'UTF-16LE', $word);
   return strtoupper(dechex(ord(substr($word,1,1))).dechex(ord(substr($word,0,1))));
}

 

function unescape($text){
   return urldecode(preg_replace_callback('/%u([[:alnum:]]{4})/', 'toString', $text));
}

 

function escape($str) {
   $len = strlen($str);
   for($i=0,$s='';$i<$len;$i++) {
      $ck = substr($str,$i,1);
      $ascii = ord($ck);
      if($ascii > 127) $s .= '%u'.toUnicode(substr($str, $i++, 2));
      else $s .= (in_array($ascii, array(42, 43, 45, 46, 47, 64, 95))) ? $ck : '%'.strtoupper(dechex($ascii));
   }
   return $s;
}

 

//함수 테스트

$string = "%uC990%uAC70%uC6B4%20%uD558%uB8E8%uB418%uC138%uC694...%5E%5E/";
echo unescape($string);
echo "<br /><br />";

echo escape("즐거운 하루되세요...^^/");

?>

관련자료

댓글 0
등록된 댓글이 없습니다.
Today's proverb
유쾌한 사람은 자기 일에만 몰두하는 사람이 아니다. 때론 자신의 일을 전부 제쳐놓고 타인의 문제에 전력을 쏟는 열정이 있는 사람이다. 타인에게 자신의 힘을 나누어주고 마음을 열어주는 것은 자신의 삶을 행복하게 만드는 방법이다.