大佬教程收集整理的这篇文章主要介绍了PHP基于自定义函数实现的汉字转拼音功能实例,大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。
本文实例讲述了PHP基于自定义函数实现的汉字转拼音功能。分享给大家供大家参考,具体如下:
整个过程用到了pinyin.table文件。
pinyin.PHP
php;"> <>PHP header("Content-Type:text/html;charset=utf-8"); $letters = ""; if ($_GET) { $cat_name = $_GET["cat_name"]; $catname = convert($cat_name); $letters = get_letter($catname,falsE); } function get_letter($catname,$letter = truE) { return $letter ? strtolower(substr(gb2py($catName),1)) : str_replace(' ','',gb2py($catName)); } function gb2py($text,$exp = '') { if(!$text) return ''; $data = array(); $tmp = @file('pinyin.table'); // 将文件作为一个数组返回。数组中的每个单元都是文件中相应的一行,包括换行符在内。 if(!$tmp) return ''; $tmps = count($tmp); for($i = 0; $i < $tmps;="" $i++)="" {="" $tmp1="explode("" ",$tmp[$i]);="" $data[$i]="array($tmp1[0],$tmp1[1]);" }="" $r="array();" $k="0;" $textlen="strlen($text);" for($i="0;" $i="">< $textlen;="" $i++)="" {="" $p="ord(substr($text,$i,1));" if($p=""> 160) { $q = ord(substr($text,++$i,1)); $p = $@L_801_11@256+$q-65536; } if($p > 0 && $p < 160)="" {="" $r[$k]="chr($p);" }="">< -20319="" ||="" $p=""> -10247) { $r[$k] = ''; } else { for($j = $tmps-1; $j >= 0; $j--) { if($data[$j][1]<=$p) break;="" }="" $r[$k]="$data[$j][0];" }="" $k++;="" }="" return="" implode($exp,$r);="" }="" function="" convert($str,$from='utf-8' ,$to='gb2312' )="" {="" if(!$str)="" return="" '';="" $from="strtolower($from);" $to="strtolower($to);" if($from="=" $to)="" return="" $str;="" $from="str_replace('gbk','gb2312',$from);" $to="str_replace('gbk',$to);" $from="str_replace('utf8','utf-8',$from);" $to="str_replace('utf8',$to);" if($from="=" $to)="" return="" $str;="" $tmp="array();" if(function_exists('iconv'))="" {="" if(is_array($str))="" {="" foreach($str="" as="" $key=""> $val) { $tmp[$key] = iconv($from,$to."//IGNORE",$val); } return $tmp; } else { return iconv($from,$str); } } else if(function_exists('mb_convert_encoding')) { if(is_array($str)) { foreach($str as $key => $val) { $tmp[$key] = mb_convert_encoding($val,$to,$from); } return $tmp; } else { return mb_convert_encoding($str,$from); } } else { require_once 'convert.func.PHP'; return dconvert($str,$from); } } ?>=$p)>
以上是大佬教程为你收集整理的PHP基于自定义函数实现的汉字转拼音功能实例全部内容,希望文章能够帮你解决PHP基于自定义函数实现的汉字转拼音功能实例所遇到的程序开发问题。
如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。
本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。