찾다
php教程php手册PHP获得中文汉字拼音首字母例子

获取给出汉字中拼音的第一个汉字字母我们可以利用汉字的一个编码来进行判断,下面我们来给大家介绍一个例子,非常的简单好用。

先来看看怎样取得单个汉字的拼音首字母,请看下面这个函数,它支持GBK和UTF8编码:

<?php
function getfirstchar($s0) {
    $fchar = ord($s0{0});
    if ($fchar >= ord("A") and $fchar <= ord("z")) return strtoupper($s0{0});
    $s1 = iconv("UTF-8", "gb2312", $s0);
    $s2 = iconv("gb2312", "UTF-8", $s1);
    if ($s2 == $s0) {
        $s = $s1;
    } else {
        $s = $s0;
    }
    $asc = ord($s{0}) * 256 + ord($s{1}) - 65536;
    if ($asc >= - 20319 and $asc <= - 20284) return "A";
    if ($asc >= - 20283 and $asc <= - 19776) return "B";
    if ($asc >= - 19775 and $asc <= - 19219) return "C";
    if ($asc >= - 19218 and $asc <= - 18711) return "D";
    if ($asc >= - 18710 and $asc <= - 18527) return "E";
    if ($asc >= - 18526 and $asc <= - 18240) return "F";
    if ($asc >= - 18239 and $asc <= - 17923) return "G";
    if ($asc >= - 17922 and $asc <= - 17418) return "H";
    if ($asc >= - 17417 and $asc <= - 16475) return "J";
    if ($asc >= - 16474 and $asc <= - 16213) return "K";
    if ($asc >= - 16212 and $asc <= - 15641) return "L";
    if ($asc >= - 15640 and $asc <= - 15166) return "M";
    if ($asc >= - 15165 and $asc <= - 14923) return "N";
    if ($asc >= - 14922 and $asc <= - 14915) return "O";
    if ($asc >= - 14914 and $asc <= - 14631) return "P";
    if ($asc >= - 14630 and $asc <= - 14150) return "Q";
    if ($asc >= - 14149 and $asc <= - 14091) return "R";
    if ($asc >= - 14090 and $asc <= - 13319) return "S";
    if ($asc >= - 13318 and $asc <= - 12839) return "T";
    if ($asc >= - 12838 and $asc <= - 12557) return "W";
    if ($asc >= - 12556 and $asc <= - 11848) return "X";
    if ($asc >= - 11847 and $asc <= - 11056) return "Y";
    if ($asc >= - 11055 and $asc <= - 10247) return "Z";
    return null;
}
?>

 以上函数返回单个汉字的拼音首字母。

当需要处理中文字符串时,只需要重新写一个函数,用来取得一串汉字的拼音首字母。

<?php
function pinyin1($zh) {
    $ret = "";
    $s1 = iconv("UTF-8", "gb2312", $zh);
    $s2 = iconv("gb2312", "UTF-8", $s1);
    if ($s2 == $zh) {
        $zh = $s1;
    }
    for ($i = 0; $i < strlen($zh); $i++) {
        $s1 = substr($zh, $i, 1);
        $p = ord($s1);
        if ($p > 160) {
            $s2 = substr($zh, $i++, 2);
            $ret.= getfirstchar($s2);
        } else {
            $ret.= $s1;
        }
    }
    return $ret;
}
?>

上面这个函数就是获取汉字拼音首字母的函数,使用示例:

echo pinyin1('这是中文字符串');

结果输出:ZSZWZFC

补充在 getfirstchar函数中我们有两种写法

第一种是我们上面用到的例子

<?php
function getfirstchar($s0) {
    $fchar = ord($s0{0});
    if ($fchar >= ord("A") and $fchar <= ord("z")) return strtoupper($s0{0});
?>
//而另一种是我们使用的数字方法了,也比较简单了。
<?php
    function getFirstChar($string) {
        $firstCharOrd = ord(strtoupper($string{0}));
        if (($firstCharOrd >= 65 && $firstCharOrd <= 91) || ($firstCharOrd >= 48 && $firstCharOrd <= 57)) return strtoupper($string{0});
}
?>


永久链接:

转载随意!带上文章地址吧。

성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.

핫 AI 도구

Undresser.AI Undress

Undresser.AI Undress

사실적인 누드 사진을 만들기 위한 AI 기반 앱

AI Clothes Remover

AI Clothes Remover

사진에서 옷을 제거하는 온라인 AI 도구입니다.

Undress AI Tool

Undress AI Tool

무료로 이미지를 벗다

Clothoff.io

Clothoff.io

AI 옷 제거제

AI Hentai Generator

AI Hentai Generator

AI Hentai를 무료로 생성하십시오.

인기 기사

R.E.P.O. 에너지 결정과 그들이하는 일 (노란색 크리스탈)
3 몇 주 전By尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. 최고의 그래픽 설정
3 몇 주 전By尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. 아무도들을 수없는 경우 오디오를 수정하는 방법
3 몇 주 전By尊渡假赌尊渡假赌尊渡假赌
WWE 2K25 : Myrise에서 모든 것을 잠금 해제하는 방법
4 몇 주 전By尊渡假赌尊渡假赌尊渡假赌

뜨거운 도구

ZendStudio 13.5.1 맥

ZendStudio 13.5.1 맥

강력한 PHP 통합 개발 환경

SublimeText3 영어 버전

SublimeText3 영어 버전

권장 사항: Win 버전, 코드 프롬프트 지원!

DVWA

DVWA

DVWA(Damn Vulnerable Web App)는 매우 취약한 PHP/MySQL 웹 애플리케이션입니다. 주요 목표는 보안 전문가가 법적 환경에서 자신의 기술과 도구를 테스트하고, 웹 개발자가 웹 응용 프로그램 보안 프로세스를 더 잘 이해할 수 있도록 돕고, 교사/학생이 교실 환경 웹 응용 프로그램에서 가르치고 배울 수 있도록 돕는 것입니다. 보안. DVWA의 목표는 다양한 난이도의 간단하고 간단한 인터페이스를 통해 가장 일반적인 웹 취약점 중 일부를 연습하는 것입니다. 이 소프트웨어는

SublimeText3 중국어 버전

SublimeText3 중국어 버전

중국어 버전, 사용하기 매우 쉽습니다.

에디트플러스 중국어 크랙 버전

에디트플러스 중국어 크랙 버전

작은 크기, 구문 강조, 코드 프롬프트 기능을 지원하지 않음