"PHP lib utf8.php"의 두 판 사이의 차이

잔글 (Jmnote님이 Lib utf8.php 문서를 PHP lib utf8.php 문서로 이동했습니다)
잔글 (봇: 자동으로 텍스트 교체 (-source +syntaxhighlight))
 
4번째 줄: 4번째 줄:


==utf2euc(), euc2utf()==
==utf2euc(), euc2utf()==
<source lang='php'>
<syntaxhighlight lang='php'>
function utf2euc($str) { return iconv("UTF-8","cp949//IGNORE", $str); }
function utf2euc($str) { return iconv("UTF-8","cp949//IGNORE", $str); }
function euc2utf($str) { return iconv("cp949","UTF-8//IGNORE", $str); }
function euc2utf($str) { return iconv("cp949","UTF-8//IGNORE", $str); }
</source>
</syntaxhighlight>


==charAt8()==
==charAt8()==
<source lang='php'>
<syntaxhighlight lang='php'>
function charAt8($str, $num) { return mb_substr($str, $num, 1, 'UTF-8'); }
function charAt8($str, $num) { return mb_substr($str, $num, 1, 'UTF-8'); }
</source>
</syntaxhighlight>


==chr8()==
==chr8()==
<source lang='php'>
<syntaxhighlight lang='php'>
function chr8($num) {
function chr8($num) {
   if($num<128) return chr($num);
   if($num<128) return chr($num);
23번째 줄: 23번째 줄:
   return false;
   return false;
}
}
</source>
</syntaxhighlight>


==ord8()==
==ord8()==
<source lang='php'>
<syntaxhighlight lang='php'>
function ord8($ch) {
function ord8($ch) {
   $len = strlen($ch);
   $len = strlen($ch);
38번째 줄: 38번째 줄:
   return false;
   return false;
}
}
</source>
</syntaxhighlight>


==strlen8()==
==strlen8()==
<source lang='php'>
<syntaxhighlight lang='php'>
function strlen8($str) { return mb_strlen($str, 'UTF-8'); }
function strlen8($str) { return mb_strlen($str, 'UTF-8'); }
</source>
</syntaxhighlight>


==substr8()==
==substr8()==
<source lang='php'>
<syntaxhighlight lang='php'>
function substr8($str, $start, $len=-1) {
function substr8($str, $start, $len=-1) {
   if($len==-1)$len = mb_strlen($str, 'UTF-8')-$start;
   if($len==-1)$len = mb_strlen($str, 'UTF-8')-$start;
   return mb_substr($str, $start, $len, 'UTF-8');
   return mb_substr($str, $start, $len, 'UTF-8');
}
}
</source>
</syntaxhighlight>


==같이 보기==
==같이 보기==

2020년 11월 2일 (월) 02:34 기준 최신판

1 개요[ | ]

PHP lib_utf8.php
  • UTF-8 문자열 처리 PHP 함수 모음

2 utf2euc(), euc2utf()[ | ]

function utf2euc($str) { return iconv("UTF-8","cp949//IGNORE", $str); }
function euc2utf($str) { return iconv("cp949","UTF-8//IGNORE", $str); }

3 charAt8()[ | ]

function charAt8($str, $num) { return mb_substr($str, $num, 1, 'UTF-8'); }

4 chr8()[ | ]

function chr8($num) {
   if($num<128) return chr($num);
   if($num<2048) return chr(($num>>6)+192).chr(($num&63)+128);
   if($num<65536) return chr(($num>>12)+224).chr((($num>>6)&63)+128).chr(($num&63)+128);
   if($num<2097152) return chr(($num>>18)+240).chr((($num>>12)&63)+128).chr((($num>>6)&63)+128).chr(($num&63)+128);
   return false;
}

5 ord8()[ | ]

function ord8($ch) {
  $len = strlen($ch);
  if($len <= 0) return false;
  $h = ord($ch{0});
  if ($h <= 0x7F) return $h;
  if ($h < 0xC2) return false;
  if ($h <= 0xDF && $len>1) return ($h & 0x1F) <<  6 | (ord($ch{1}) & 0x3F);
  if ($h <= 0xEF && $len>2) return ($h & 0x0F) << 12 | (ord($ch{1}) & 0x3F) << 6 | (ord($ch{2}) & 0x3F);          
  if ($h <= 0xF4 && $len>3) return ($h & 0x0F) << 18 | (ord($ch{1}) & 0x3F) << 12 | (ord($ch{2}) & 0x3F) << 6 | (ord($ch{3}) & 0x3F);
  return false;
}

6 strlen8()[ | ]

function strlen8($str) { return mb_strlen($str, 'UTF-8'); }

7 substr8()[ | ]

function substr8($str, $start, $len=-1) {
  if($len==-1)$len = mb_strlen($str, 'UTF-8')-$start;
  return mb_substr($str, $start, $len, 'UTF-8');
}

8 같이 보기[ | ]

9 참고[ | ]

문서 댓글 ({{ doc_comments.length }})
{{ comment.name }} {{ comment.created | snstime }}