轉換unicode十進制內碼爲utf-8編碼

轉換unicode十進制內碼爲utf-8編碼

 

  1. function u2utf8($c
  2.     $str = ""
  3.     if ($c < 0x80) { 
  4.         $str .= $c
  5.     } else if ($c < 0x800) { 
  6.         $str .= chr(0xC0 | $c >> 6); 
  7.         $str .= chr(0x80 | $c & 0x3F); 
  8.     } else if ($c < 0x10000) { 
  9.         $str .= chr(0xE0 | $c >> 12); 
  10.         $str .= chr(0x80 | $c >> 6 & 0x3F); 
  11.         $str .= chr(0x80 | $c & 0x3F); 
  12.     } else if ($c < 0x200000) { 
  13.         $str .= chr(0xF0 | $c >> 18); 
  14.         $str .= chr(0x80 | $c >> 12 & 0x3F); 
  15.         $str .= chr(0x80 | $c >> 6 & 0x3F); 
  16.         $str .= chr(0x80 | $c & 0x3F); 
  17.     } 
  18.     return $str
  19.  
  20. $source = "&#20013&#22269&#20154&#27665"
  21.  
  22. preg_match_all("/&#([0-9]+)/"$source$regs); 
  23.  
  24. foreach ($regs[1] as $v) { 
  25.     $source = str_replace("&#$v", u2utf8($v), $source); 
  26.  
  27. echo $source
  28. // 中國人民 //

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章