PHP提取中文首字母

yipeiwu_com6年前PHP代码库
复制代码 代码如下:

<?    
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;    
?> 

相关文章

PHP自带方法验证邮箱、URL、IP是否合法的函数

以前用PHP验证邮箱、URL、IP是否合法都是通过自己写正则来实现,但是有时候脑子发昏,可能会写出一个不是完全正确的正则,导致验证出错,今天发现原来PHP本身自带了验证邮箱、URL、IP...

PHP中使用循环实现的金字塔图形

今天学习了最基础的PHP条件和循环语句,最后老师提了几个问题,其中一个实现空心金字塔的图像比较好玩。 老师要让我们实现的是:      *   &...

php 广告调用类代码(支持Flash调用)

调用方式如下:其中DebugStr这个函数就是类似一个echo。 复制代码 代码如下: DebugStr('$Adv->getContentById($id); $id为广告编号,...

PHP页面中文乱码分析

PHP页面中文乱码出现的原因有几种,一种是页面编码不统计一,二是数据库未设置编码,三是apache编码有问题,下面我来给大家介绍两种解决办法,总体来讲就是页面编码不统一了。出现乱码大部分...

PHP互换两个变量值的方法(不用第三变量)

前言 今天在这里我们就来看看,在PHP中如何在不使用第三变量的情况下,达到交换两个变量值得目的。详细的解说见代码注释,下面来一起看看吧。 一、substr() && strlen()...