在php中如果我们要获取汉字的拼音第一个字母我们先要了解asc码的范围码了,我们只要知道这个值上下限就可以使用php中的ord来获取我相关的汉字拼音了.
实例1,代码如下:
function getFirstCharter($str) { if (emptyempty($str)) {return '';} $fchar = ord($str{0}); if ($fchar>=ord('A') && $fchar<=ord('z')) return strtoupper($str{0}); $s1 = iconv('UTF-8', 'gb2312', $str); $s2 = iconv('gb2312', 'UTF-8', $s1); $s = $s2 == $str ? $s1 : $str; $asc = ord($s{0})*256 + ord($s{1}) - 65536; if ($asc>=-20319 && $asc<=-20284) return 'A'; if ($asc>=-20283 && $asc<=-19776) return 'B'; if ($asc>=-19775 && $asc<=-19219) return 'C'; if ($asc>=-19218 && $asc<=-18711) return 'D'; if ($asc>=-18710 && $asc<=-18527) return 'E'; if ($asc>=-18526 && $asc<=-18240) return 'F'; if ($asc>=-18239 && $asc<=-17923) return 'G'; if ($asc>=-17922 && $asc<=-17418) return 'H'; if ($asc>=-17417 && $asc<=-16475) return 'J'; if ($asc>=-16474 && $asc<=-16213) return 'K'; if ($asc>=-16212 && $asc<=-15641) return 'L'; if ($asc>=-15640 && $asc<=-15166) return 'M'; if ($asc>=-15165 && $asc<=-14923) return 'N'; if ($asc>=-14922 && $asc<=-14915) return 'O'; if ($asc>=-14914 && $asc<=-14631) return 'P'; if ($asc>=-14630 && $asc<=-14150) return 'Q'; if ($asc>=-14149 && $asc<=-14091) return 'R'; if ($asc>=-14090 && $asc<=-13319) return 'S'; if ($asc>=-13318 && $asc<=-12839) return 'T'; if ($asc>=-12838 && $asc<=-12557) return 'W'; if ($asc>=-12556 && $asc<=-11848) return 'X'; if ($asc>=-11847 && $asc<=-11056) return 'Y'; if ($asc>=-11055 && $asc<=-10247) return 'Z'; 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>='B0'){ //汉字的开始 $t=getLetter(hexdec(bin2hex(substr($str,$i,2)))); printf("%c",$t==-1 ? '*' : $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; }
教程网址:
欢迎收藏∩_∩但请保留本文链接。

Hot AI Tools

Undresser.AI Undress
AI-powered app for creating realistic nude photos

AI Clothes Remover
Online AI tool for removing clothes from photos.

Undress AI Tool
Undress images for free

Clothoff.io
AI clothes remover

Video Face Swap
Swap faces in any video effortlessly with our completely free AI face swap tool!

Hot Article

Hot Tools

EditPlus Chinese cracked version
Small size, syntax highlighting, does not support code prompt function

SublimeText3 English version
Recommended: Win version, supports code prompts!

PhpStorm Mac version
The latest (2018.2.1) professional PHP integrated development tool

Dreamweaver Mac version
Visual web development tools

Safe Exam Browser
Safe Exam Browser is a secure browser environment for taking online exams securely. This software turns any computer into a secure workstation. It controls access to any utility and prevents students from using unauthorized resources.
