How to get the first letter of Chinese characters in PHP?
When processing Chinese characters, sometimes we need to get the first letter of the Chinese character. PHP provides some built-in functions and extension packages to achieve this functionality.
A common way is to use the mb_substr()
function combined with the ord()
function. The mb_substr()
function is used to obtain the substring of a string, and the ord()
function is used to obtain the ASCII code value of a character. We can get the first letter of the Chinese character by getting the first character and its ASCII code value.
The following is a sample code using the mb_substr()
and ord()
functions:
function getChineseFirstLetter($string) { $firstChar = mb_substr($string, 0, 1, 'UTF-8'); $firstLetter = ord($firstChar) > 127 ? chr(ord($firstChar) - 65248) . chr(ord($firstChar) - 65248 + 1) : $firstChar; return strtoupper($firstLetter); } $string = "中文"; $firstLetter = getChineseFirstLetter($string); echo $firstLetter; // 输出Z
In the above sample code, getChineseFirstLetter ()
function is used to obtain the first letter of a Chinese string. First use the mb_substr()
function to get the first character of the Chinese string, and then use the ord()
function to get the ASCII code value of the character.
When the ASCII code value of the obtained character is greater than 127, it means that the character is a Chinese character. We can convert it into the corresponding English letter to achieve the purpose of obtaining the first letter. In the sample code, the chr()
function is used to convert the ASCII code value. Since the corresponding rules between Chinese character encoding and ASCII code are fixed, we can convert the ASCII code value of Chinese characters into the corresponding ASCII code value of English letters through interpolation. Finally, use the strtoupper()
function to convert the first letter to uppercase and back.
In the example of the above code, we used the string "Chinese" as input and finally output the initial letter "Z".
In addition to using the mb_substr()
and ord()
functions, you can also use other methods to get the first letters of Chinese characters. For example, you can use the third-party extension package PhpSpreadsheet
to achieve:
use PhpOfficePhpSpreadsheetSharedStringHelper; function getChineseFirstLetter($string) { $firstChar = StringHelper::substring($string, 0, 1); $firstLetter = StringHelper::strtoupper(StringHelper::toAscii($firstChar)); return $firstLetter; } $string = "中文"; $firstLetter = getChineseFirstLetter($string); echo $firstLetter; // 输出Z
In the above example code, we used the StringHelper
in PhpSpreadsheet
class and some of its methods to obtain the first letter of Chinese characters. This method requires first installing the PhpSpreadsheet
extension package and introducing related namespaces and classes.
To summarize, we can use the mb_substr()
and ord()
functions in combination or use the third-party extension package PhpSpreadsheet
to obtain Chinese characters initials. You can choose the appropriate method to implement according to your own needs. No matter which method is used, it can make us more flexible and convenient when processing Chinese characters.
The above is the detailed content of How to get the first letter of Chinese characters in PHP?. For more information, please follow other related articles on the PHP Chinese website!