搜尋
首頁php教程php手册php获取中文字符拼音首字母实例

在php中如果我们要获取汉字的拼音第一个字母我们先要了解asc码的范围码了,我们只要知道这个值上下限就可以使用php中的ord来获取我相关的汉字拼音了.

实例1,代码如下:

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

例如:echo getFirstCharter("程序员3aj.cn"); // 结果将输出:C

实例二,代码如下:

<?php 
 
$limit=array( //gb2312 拼音排序 
    array(45217,45252), //A 
    array(45253,45760), //B 
    array(45761,46317), //C 
    array(46318,46825), //D 
    array(46826,47009), //E 
    array(47010,47296), //F 
    array(47297,47613), //G 
    array(47614,48118), //H 
    array(0,0),         //I 
    array(48119,49061), //J 
    array(49062,49323), //K 
    array(49324,49895), //L 
    array(49896,50370), //M 
    array(50371,50613), //N 
    array(50614,50621), //O 
    array(50622,50905), //P 
    array(50906,51386), //Q 
    array(51387,51445), //R 
    array(51446,52217), //S 
    array(52218,52697), //T 
    array(0,0),         //U 
    array(0,0),         //V 
    array(52698,52979), //W 
    array(52980,53688), //X 
    array(53689,54480), //Y 
    array(54481,55289), //Z 
); 
 
$str="A:这是一个测试程序1"; 
$str= iconv("UTF-8","gb2312", $str); 
echo $str."</br>"; 
$i=0; 
while($i<strlen($str) ) { 
    $tmp=bin2hex(substr($str,$i,1)); 
    if($tmp>=&#39;B0&#39;){ //汉字的开始 
        $t=getLetter(hexdec(bin2hex(substr($str,$i,2)))); 
        printf("%c",$t==-1 ? &#39;*&#39; : $t ); 
        $i+=2; 
    } 
    else{ 
        printf("%s",substr($str,$i,1)); 
        $i++; 
    } 
} 
 
function getLetter($num){ 
    global $limit; 
    $char_index=65; 
    foreach($limit as $k=>$v){ 
        if($num>=$v[0] && $num<=$v[1]){ 
            $char_index+=$k; 
            return $char_index; 
        } 
    } 
    return -1; 
}


教程网址:

欢迎收藏∩_∩但请保留本文链接。

陳述
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
golang中如何验证输入是否全部为中文字符golang中如何验证输入是否全部为中文字符Jun 24, 2023 am 09:16 AM

随着时代的发展,我们越来越注重对数据的校验,特别是对用户输入的校验。对于语言类的校验,如何准确判定输入是否全部为中文字符成为了一个重要问题。而在golang中,我们可以借助unicode包和regexp包来实现这一需求。一、unicode包unicode包提供了一系列对于unicode的核心支持。我们可以使用这个包中的函数来准确地判断一个字符是否为中文字符。

在C语言环境下如何对中文字符进行排序?在C语言环境下如何对中文字符进行排序?Feb 18, 2024 pm 02:10 PM

如何在C语言编程软件中实现中文字符排序功能?在现代社会,中文字符排序功能在很多软件中都是必不可少的功能之一。无论是在文字处理软件、搜索引擎还是数据库系统中,都需要对中文字符进行排序,以便更好地展示和处理中文文本数据。而在C语言编程中,如何实现中文字符排序功能呢?下面将简要介绍一种方法。首先,为了在C语言中实现中文字符排序功能,我们需要使用到字符串比较函数。然

如何在PHP中处理中文字符的拼音排序问题?如何在PHP中处理中文字符的拼音排序问题?Sep 05, 2023 pm 05:00 PM

如何在PHP中处理中文字符的拼音排序问题?在开发中文网站或应用时,经常会面临需要对中文字符串按照拼音进行排序的需求。然而,由于中文字符的复杂性,直接使用常规的排序算法会导致排序结果出现错误。因此,我们需要使用一种特殊的方法来处理中文字符的拼音排序问题。在PHP中,有一种常用的解决方案是使用拼音库,如“Overtrue/Pinyin”。这是一个基于PHP的拼音

如何在 PHP 中使用正则表达式来匹配中文字符如何在 PHP 中使用正则表达式来匹配中文字符Jun 22, 2023 am 09:16 AM

在PHP中,正则表达式是一种常用的字符串匹配工具,它可以用来判断一个字符串是否符合某种特定的格式,从而实现对输入值的有效性验证。而在处理中文字符时,由于中文字符与英文字符在编码方式上有所不同,因此需要相应地调整正则表达式的匹配规则。本文将介绍如何在PHP中使用正则表达式来匹配中文字符。一、了解中文字符编码PHP中常用的字符编码有UTF-8和G

PHP如何获取中文字符的首字母?PHP如何获取中文字符的首字母?Sep 06, 2023 am 11:18 AM

PHP如何获取中文字符的首字母?在处理中文字符时,有时候我们需要获取中文字符的首字母。PHP提供了一些内置函数和扩展包来实现这一功能。一种常用的方式是使用mb_substr()函数结合ord()函数。mb_substr()函数用于获取字符串的子串,ord()函数用于获取字符的ASCII码值。我们可以通过获取中文字符的第一个字符及其ASCII码值来获取首字母。

如何使用PHP编写一个可以自动将中文字符转换为拼音首字母的搜索框?如何使用PHP编写一个可以自动将中文字符转换为拼音首字母的搜索框?Sep 05, 2023 pm 06:21 PM

如何使用PHP编写一个可以自动将中文字符转换为拼音首字母的搜索框?随着中文在网络上的广泛使用,为了方便用户检索信息,我们常常需要提供一个基于拼音首字母的搜索功能。在本文中,我们将介绍如何用PHP编写一个可以将中文字符转换为拼音首字母的搜索框。首先,我们需要准备一个中文转拼音的库。在PHP中,我们可以使用pinyin.php这个开源库来实现这个功能。你可以通过

PHP正则表达式实战:匹配中文字符PHP正则表达式实战:匹配中文字符Jun 22, 2023 pm 08:34 PM

在使用PHP开发项目的过程中,经常会遇到需要处理中文字符的需求。而正则表达式是一种强大的文本处理工具,可以帮助我们快速、准确地匹配和处理中文字符。在本篇文章中,我将介绍如何使用PHP正则表达式实现匹配中文字符的相关技巧和实例。匹配中文字符首先,我们需要了解一下中文字符在计算机中是如何表示的。通常情况下,中文字符是使用Unicode编码来表示的。在Unicod

如何在PHP中实现一个中文字符转换为拼音首字母的搜索功能?如何在PHP中实现一个中文字符转换为拼音首字母的搜索功能?Sep 06, 2023 am 09:00 AM

如何在PHP中实现一个中文字符转换为拼音首字母的搜索功能?在许多Web应用程序中,我们经常需要实现搜索功能,其中一个非常常见的需求是实现一个中文字符转换为拼音首字母的搜索功能。这样用户可以通过输入中文字符的拼音首字母来搜索相关的内容,提高搜索的准确性和便利性。在PHP中实现中文字符转换为拼音首字母的搜索功能,可以使用第三方库来实现。其中一个常用的库是PHP的

See all articles

熱AI工具

Undresser.AI Undress

Undresser.AI Undress

人工智慧驅動的應用程序,用於創建逼真的裸體照片

AI Clothes Remover

AI Clothes Remover

用於從照片中去除衣服的線上人工智慧工具。

Undress AI Tool

Undress AI Tool

免費脫衣圖片

Clothoff.io

Clothoff.io

AI脫衣器

AI Hentai Generator

AI Hentai Generator

免費產生 AI 無盡。

熱門文章

R.E.P.O.能量晶體解釋及其做什麼(黃色晶體)
2 週前By尊渡假赌尊渡假赌尊渡假赌
倉庫:如何復興隊友
4 週前By尊渡假赌尊渡假赌尊渡假赌
Hello Kitty Island冒險:如何獲得巨型種子
4 週前By尊渡假赌尊渡假赌尊渡假赌

熱工具

mPDF

mPDF

mPDF是一個PHP庫,可以從UTF-8編碼的HTML產生PDF檔案。原作者Ian Back編寫mPDF以從他的網站上「即時」輸出PDF文件,並處理不同的語言。與原始腳本如HTML2FPDF相比,它的速度較慢,並且在使用Unicode字體時產生的檔案較大,但支援CSS樣式等,並進行了大量增強。支援幾乎所有語言,包括RTL(阿拉伯語和希伯來語)和CJK(中日韓)。支援嵌套的區塊級元素(如P、DIV),

SublimeText3 英文版

SublimeText3 英文版

推薦:為Win版本,支援程式碼提示!

Dreamweaver Mac版

Dreamweaver Mac版

視覺化網頁開發工具

Atom編輯器mac版下載

Atom編輯器mac版下載

最受歡迎的的開源編輯器

禪工作室 13.0.1

禪工作室 13.0.1

強大的PHP整合開發環境