> php教程 > PHP源码 > 본문

php把汉字转化成拼音

PHP中文网
풀어 주다: 2016-05-25 17:08:22
원래의
1171명이 탐색했습니다.


=’5.0′) ? array_combine($_TDataKey, $_TDataValue) : array_combine($_TDataKey, $_TDataValue);
  //arsort:对数组进行逆向排序并保持索引关系
  //reset:将数组的内部指针指向第一个单元
  arsort($_Data);
  reset($_Data);
 
  /**
   *    假如编码不是gb2312,则启用utf-8
   */
  if($_Code != ‘gb2312′) $_String = _U2_Utf8_Gb($_String);
  $_Res = ”;
  for($i=0; $i160) {
    $_Q = ord(substr($_String, ++$i, 1));
    $_P = $_P*256 + $_Q – 65536;
   }
   $_Res .= _Pinyin($_P, $_Data);
  }
  return preg_replace(“/[^a-z0-9]*/”, ”, $_Res);
 }
 
 function _Pinyin($_Num, $_Data) {
  if($_Num>0 && $_Num<160 )
   return chr($_Num);
  elseif($_Num-10247)
   return ”;
  else {
   foreach($_Data as $k=>$v) {
    if($v<=$_Num)
     break;
   }
   return $k;
  }
 }
 
 function _U2_Utf8_Gb($_C) {
  $_String = ”;
  if($_C < 0×80) {
   $_String .= $_C;
  }
  elseif($_C < 0×800) {
   $_String .= chr(0xC0 | $_C>>6);
   $_String .= chr(0×80 | $_C & 0x3F);
  }
  elseif($_C < 0×10000) {
   $_String .= chr(0xE0 | $_C>>12);
   $_String .= chr(0×80 | $_C>>6 & 0x3F);
   $_String .= chr(0×80 | $_C & 0x3F);
  }
  elseif($_C < 0×200000) {
   $_String .= chr(0xF0 | $_C>>18);
   $_String .= chr(0×80 | $_C>>12 & 0x3F);
   $_String .= chr(0×80 | $_C>>6 & 0x3F);
   $_String .= chr(0×80 | $_C & 0x3F);
  }
  return @iconv(‘UTF-8′, ‘GB2312//IGNORE’, $_String);
 }
 
 
 echo Pinyin(“我的博客”);
?>
로그인 후 복사
로그인 후 복사

2.

=’5.0′) ? array_combine($_TDataKey, $_TDataValue) : array_combine($_TDataKey, $_TDataValue);
  //arsort:对数组进行逆向排序并保持索引关系
  //reset:将数组的内部指针指向第一个单元
  arsort($_Data);
  reset($_Data);
 
  /**
   *    假如编码不是gb2312,则启用utf-8
   */
  if($_Code != ‘gb2312′) $_String = _U2_Utf8_Gb($_String);
  $_Res = ”;
  for($i=0; $i160) {
    $_Q = ord(substr($_String, ++$i, 1));
    $_P = $_P*256 + $_Q – 65536;
   }
   $_Res .= _Pinyin($_P, $_Data);
  }
  return preg_replace(“/[^a-z0-9]*/”, ”, $_Res);
 }
 
 function _Pinyin($_Num, $_Data) {
  if($_Num>0 && $_Num<160 )
   return chr($_Num);
  elseif($_Num-10247)
   return ”;
  else {
   foreach($_Data as $k=>$v) {
    if($v<=$_Num)
     break;
   }
   return $k;
  }
 }
 
 function _U2_Utf8_Gb($_C) {
  $_String = ”;
  if($_C < 0×80) {
   $_String .= $_C;
  }
  elseif($_C < 0×800) {
   $_String .= chr(0xC0 | $_C>>6);
   $_String .= chr(0×80 | $_C & 0x3F);
  }
  elseif($_C < 0×10000) {
   $_String .= chr(0xE0 | $_C>>12);
   $_String .= chr(0×80 | $_C>>6 & 0x3F);
   $_String .= chr(0×80 | $_C & 0x3F);
  }
  elseif($_C < 0×200000) {
   $_String .= chr(0xF0 | $_C>>18);
   $_String .= chr(0×80 | $_C>>12 & 0x3F);
   $_String .= chr(0×80 | $_C>>6 & 0x3F);
   $_String .= chr(0×80 | $_C & 0x3F);
  }
  return @iconv(‘UTF-8′, ‘GB2312//IGNORE’, $_String);
 }
 
 
 echo Pinyin(“我的博客”);
?>
로그인 후 복사
로그인 후 복사

           

       

관련 라벨:
원천:php.cn
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
인기 추천
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿