php汉字转换拼音插件,php汉字转换拼音实现程序

本文章分享一篇关于php汉字转换拼音实现程序,有需要的同学可以参考一下下哈。

$_TDataValue = explode('|', $_DataValue);

$_Data = array_combine($_TDataKey, $_TDataValue);

arsort($_Data);

reset($_Data);

if($_Code!= 'gb2312') $_String = _U2_Utf8_Gb($_String);

$_Res = '';

for($i=0; $i

$_P = ord(substr($_String, $i, 1));

if($_P>160) {

$_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 < 0x80){

$_String .= $_C;

}elseif($_C < 0x800) {

$_String .= chr(0xC0 | $_C>>6);

$_String .= chr(0x80 | $_C & 0x3F);

}elseif($_C < 0x10000){

$_String .= chr(0xE0 | $_C>>12);

$_String .= chr(0x80 | $_C>>6 & 0x3F);

$_String .= chr(0x80 | $_C & 0x3F);

}elseif($_C < 0x200000) {

$_String .= chr(0xF0 | $_C>>18);

$_String .= chr(0x80 | $_C>>12 & 0x3F);

$_String .= chr(0x80 | $_C>>6 & 0x3F);

$_String .= chr(0x80 | $_C & 0x3F);

}

return iconv('UTF-8', 'GB2312', $_String);

}

//测试

 代码如下复制代码
include("inc/db/database.php");

$db = new db();

//第二个参数"1"可随意设置即为utf8编码

$query =$db->query("select * from o_art_type ");

$fetch = $db->fetch($query,0);

//print_r($fetch);

foreach( $fetch as $v=> $vv )

{

//print_r( $vv['id'] );

//echo $vv['typename'];

$s = Pinyin($vv['typename'],'gb2312');

$db->query("update o_art_type set urlname='$s' where id=".$vv['id']);

}

?>

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值