Home  >  Article  >  Backend Development  >  Introduction to the method of extracting the first letters of Chinese and English words and numbers using PHP_PHP Tutorial

Introduction to the method of extracting the first letters of Chinese and English words and numbers using PHP_PHP Tutorial

WBOY
WBOYOriginal
2016-07-21 15:11:51952browse

A recent project has a requirement to extract the first letter of each word from a massive vocabulary database in Chinese and English (including Arabic numerals 0-9):

gannicus——>G

Freedom——>Z

2B——>E

Silly X——>S

Copy code The code is as follows:

private function getfirstchar($s0){
        $s=iconv('UTF-8','gb2312', $s0);
        if (ord($s0)>128) { //汉字开头
            $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 "I";             
            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"; 
        }else if(ord($s)>=48 and ord($s)<=57){ //Start with a number
                                                                                                                                                           Since 🎜>                                                                                                                          case 4:return "S";
case 5:return "W";
case 6:return "L";
case 7:return "Q";
case 8:return "B";
case 9:return "J ",
                                                                                                                                                                                                                                                                                                     return strtoupper(substr($s,0,1));
}
else
Mixed words are not suitable for the above situations, so you can directly extract the first character
}

}


Remaining issues: There are still a small number of words that cannot be extracted. If Eternal is immortal, the G has not been extracted

The final effect is as shown below:






http://www.bkjia.com/PHPjc/326814.html
www.bkjia.com

true

http: //www.bkjia.com/PHPjc/326814.html

TechArticle

A recent project has a requirement. In a massive vocabulary library of Chinese and English (including Arabic numerals 0-9), Extract the first letter of each word: gannicus - G free - Z 2B - E silly...
Statement:
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn