AJAX 实现的汉字转换为拼音二

<?php
$pinyins = Array();
//获取一串中文字符的拼音 ishead=0 时,输出全拼音 ishead=1时,输出拼音首字母
function GetPinyin($str,$ishead=0,$isclose=1){
 global $pinyins;
 $restr = "";
 $str = trim($str);
 $slen = strlen($str);
 if($slen<2) return $str;
 if(count($pinyins)==0){
   $fp = fopen("./pinyin.db","r");
   while(!feof($fp)){
     $line = trim(fgets($fp));
     $pinyins[$line[0].$line[1]] = substr($line,3,strlen($line)-3);
   }
   fclose($fp);
 }
 for($i=0;$i<$slen;$i++){
   if(ord($str[$i])>0x80)
   {
     $c = $str[$i].$str[$i+1];
     $i++;
     if(isset($pinyins[$c])){
       if($ishead==0) $restr .= $pinyins[$c];
       else $restr .= $pinyins[$c][0];
     }else $restr .= "_";
   }else if( eregi("[a-z0-9]",$str[$i]) ){  $restr .= $str[$i]; }
   else{ $restr .= "_";  }
 }
 if($isclose==0) unset($pinyins);
 return $restr;
}
if($_GET['hanzi'])
{
echo $pinyin=GetPinyin($_GET['hanzi'],1,0);
//echo "获得的拼音是:".$pinyin;
}
?>

时间: 2024-10-25 04:26:14

AJAX 实现的汉字转换为拼音二的相关文章

AJAX 实现的汉字转换为拼音一

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <meta http-equiv="Content-

Java实现汉字转换为拼音

汉字|拼音|转换 本文的核心代码取自easydozer的blog:http://blog.csdn.net/easydozer/代码说明:Java实现汉字转换为拼音的GUI版本. GUI代码部分:/** * @(#)CnToSpellGUI.java * kindani * 2004-10-25?? * */ import java.awt.*; import java.awt.event.*; import javax.swing.*; import javax.swing.event.*;

利用pinyin4j将汉字转换为拼音完整示例

MainActivity如下: package cn.cc; import android.app.Activity; import android.os.Bundle; /** * Demo描述: * 利用pinyin4j将汉字转换为拼音 * * 注意事项: * 添加pinyin4j.jar包 */ public class MainActivity extends Activity { @Override public void onCreate(Bundle savedInstanceSt

C#实现汉字转换为拼音缩写的代码_C#教程

本文实例为大家分享了C#汉字转换为拼音缩写的实现代码,供大家参考,具体内容如下 using System; using System.Configuration; using System.Data; using System.Web; using System.Web.Security; using System.Web.UI; using System.Web.UI.HtmlControls; using System.Web.UI.WebControls; using System.Web

将汉字转换为拼音(PHP代码)

汉字|拼音|转换 转换逻辑需要参看GB2312字符代码表http://ash.jp/code/cn/gb2312tbl.htm<?php $d=array(  array("a",-20319),  array("ai",-20317),  array("an",-20304),  array("ang",-20295),  array("ao",-20292),  array("ba&qu

PHP汉字转换为拼音字头原理

  GB 2312中对所收汉字进行了"分区"处理,每区含有94个汉字/符号.这种表示方式也称为区位码. 1)01-09区为特殊符号. 2)16-55区为一级汉字,按拼音排序.  3)56-87区为二级汉字,按部首/笔画排序. 4)10-15区及88-94区则未有编码. 在使用GB2312的程序中,通常采用EUC储存方法,以便兼容于ASCII.浏览器编码表上的"GB2312",通常都是指"EUC-CN"表示法. 每个汉字及符号以两个字节来表示.第一

利用pingyin4j 将汉字转换为拼音

jar包:http://pan.baidu.com/s/11ikCY import net.sourceforge.pinyin4j.PinyinHelper; import net.sourceforge.pinyin4j.format.HanyuPinyinOutputFormat; import net.sourceforge.pinyin4j.format.HanyuPinyinToneType; import net.sourceforge.pinyin4j.format.except

文件一键上传、汉字转拼音、excel文件上传下载功能模块的实现

----------------------------------------------------------------------------------------------[版权申明:本文系作者原创,转载请注明出处] 文章出处:http://blog.csdn.net/sdksdk0/article/details/52557755作者:朱培      ID:sdksdk0      ------------------------------------------------

PHP汉字转换拼音的类

  网络上类似的代码大多只能在gb2312编码下使用,下面这个类同时能在utf-8编码下将汉字转换为拼音,具体的代码和用法如下:  <?php function Pinyin($_String, $_Code='gb2312') { $_DataKey = "aaianangaobabaibanbangbaobeibenbengbibianbiaobiebinbingbobucacaicancangcaocecengcha". "chaichanchangchaoche