PHP提取中文首字母

2015-01-24信息快讯网

从别人程序中扒拉出来的提取中文首字母的php代码不是原创。Dzender的代码学习用

<?     
function pykey( $py_key)     
{     
    $pinyin = 65536 + pys($py_key);     
    if ( 45217 <= $pinyin && $pinyin <= 45252 )     
    {     
        $zimu = "A";     
        return $zimu;     
    }     
    if ( 45253 <= $pinyin && $pinyin <= 45760 )     
    {     
        $zimu = "B";     
        return $zimu;     
    }     
    if ( 45761 <= $pinyin && $pinyin <= 46317 )     
    {     
        $zimu = "C";     
        return $zimu;     
    }     
    if ( 46318 <= $pinyin && $pinyin <= 46825 )     
    {     
        $zimu = "D";     
        return $zimu;     
    }     
    if ( 46826 <= $pinyin && $pinyin <= 47009 )     
    {     
        $zimu = "E";     
        return $zimu;     
    }     
    if ( 47010 <= $pinyin && $pinyin <= 47296 )     
    {     
        $zimu = "F";     
        return $zimu;     
    }     
    if ( 47297 <= $pinyin && $pinyin <= 47613 )     
    {     
        $zimu = "G";     
        return $zimu;     
    }     
    if ( 47614 <= $pinyin && $pinyin <= 48118 )     
    {     
        $zimu = "H";     
        return $zimu;     
    }     
    if ( 48119 <= $pinyin && $pinyin <= 49061 )     
    {     
        $zimu = "J";     
        return $zimu;     
    }     
    if ( 49062 <= $pinyin && $pinyin <= 49323 )     
    {     
        $zimu = "K";     
        return $zimu;     
    }     
    if ( 49324 <= $pinyin && $pinyin <= 49895 )     
    {     
        $zimu = "L";     
        return $zimu;     
    }     
    if ( 49896 <= $pinyin && $pinyin <= 50370 )     
    {     
        $zimu = "M";     
        return $zimu;     
    }     
    if ( 50371 <= $pinyin && $pinyin <= 50613 )     
    {     
        $zimu = "N";     
        return $zimu;     
    }     
    if ( 50614 <= $pinyin && $pinyin <= 50621 )     
    {     
        $zimu = "O";     
        return $zimu;     
    }     
    if ( 50622 <= $pinyin && $pinyin <= 50905 )     
    {     
        $zimu = "P";     
        return $zimu;     
    }     
    if ( 50906 <= $pinyin && $pinyin <= 51386 )     
    {     
        $zimu = "Q";     
        return $zimu;     
    }     
    if ( 51387 <= $pinyin && $pinyin <= 51445 )     
    {     
        $zimu = "R";     
        return $zimu;     
    }     
    if ( 51446 <= $pinyin && $pinyin <= 52217 )     
    {     
        $zimu = "S";     
        return $zimu;     
    }     
    if ( 52218 <= $pinyin && $pinyin <= 52697 )     
    {     
        $zimu = "T";     
        return $zimu;     
    }     
    if ( 52698 <= $pinyin && $pinyin <= 52979 )     
    {     
        $zimu = "W";     
        return $zimu;     
    }     
    if ( 52980 <= $pinyin && $pinyin <= 53640 )     
    {     
        $zimu = "X";     
        return $zimu;     
    }     
    if ( 53689 <= $pinyin && $pinyin <= 54480 )     
    {     
        $zimu = "Y";     
        return $zimu;     
    }     
    if ( 54481 <= $pinyin && $pinyin <= 62289 )     
    {     
        $zimu = "Z";     
        return $zimu;     
    }     
    $zimu = $py_key;     
    return $zimu;     
}     
function pys( $pysa )     
{     
    $pyi = "";     
    $i= 0;     
    for ( ; $i < strlen( $pysa ); $i++)     
    {     
        $_obfuscate_8w= ord( substr( $pysa,$i,1) );     
        if ( 160 < $_obfuscate_8w)     
        {     
            $_obfuscate_Bw = ord( substr( $pysa, $i++, 1 ) );     
            $_obfuscate_8w = $_obfuscate_8w * 256 + $_obfuscate_Bw - 65536;     
        }     
        $pyi.= $_obfuscate_8w;     
    }     
    return $pyi;     
}     
$letter = pykey("中华人民共和国");     
echo $letter;     
?> 
The specified CGI application misbehaved by not returning a complete set of HTTP headers
PHP 页面编码声明方法详解(header或meta)
php checkdate、getdate等日期时间函数操作详解
PHP中include()与require()的区别说明
phpmyadmin 常用选项设置详解版
PHPMYADMIN 简明安装教程 推荐
THINKPHP+JS实现缩放图片式截图的实现
PHP set_time_limit(0)长连接的实现分析
PHP正则的Unknown Modifier错误解决方法
php中理解print EOT分界符和echo EOT的用法区别小结
php cout&lt;&lt;的一点看法
Asp.net 文本框全选的实现
PHP MYSQL乱码问题,使用SET NAMES utf8校正
php与XML、XSLT、Mysql的结合运用实现代码
PHP nl2br函数 将换行字符转成 &lt;br&gt;
php 分页函数multi() discuz
php array_map array_multisort 高效处理多维数组排序
PHP setcookie() cannot modify header information 的解决方法
Cannot modify header information错误解决方法
php格式化工具Beautify PHP小小BUG
mysql 中InnoDB和MyISAM的区别分析小结
php Ajax乱码
php出现Cannot modify header information问题的解决方法大全
PHP实现Socket服务器的代码
php heredoc和phpwind的模板技术使用方法小结
WINDOWS下php5.2.4+mysql6.0+apache2.2.4+ZendOptimizer-3.3.0配置
关于Intype一些小问题的解决办法
php Undefined index和Undefined variable的解决方法
深思 PHP 数组遍历的差异(array_diff 的实现)
由php if 想到的些问题
在PHP中使用Sockets 从Usenet中获取文件
set_include_path在win和linux下的区别
Http 1.1 Etag 与 Last-Modified提高php效率
使用ETags减少Web应用带宽和负载第1/2页
<b>一些常用的php函数</b>
动态生成gif格式的图像要注意?
©2014-2024 dbsqp.com