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("즐거운 하루되세요...^^/");

?>

관련자료

등록된 댓글이 없습니다.
Today's proverb
해가 들면 어떻고, 바람이 불면 어떻고, 눈이 오면 어떠랴. 해가 들어주어도 고맙고, 바람이 불어주어도 고맙고, 눈이 와주어도 고마울 뿐. 그렇다, 고맙지 않은 것이 없다. 밤은 밤이어서 고맙고, 새벽은 새벽이어서 고맙고, 낮은 낮이어서 고맙다. 아, 고마운 삼라만상이여! (정채봉)