How to exclude Chinese characters in php (three methods)

PHPz
Release: 2023-04-04 17:32:01
Original
1340 people have browsed it

Chinese characters are a common problem during website development. In PHP, text processing functions, such as preg_replace, str_replace, etc., can process Chinese characters normally. However, in some specific scenarios, we need to exclude Chinese characters. For example, if a username field is only allowed to contain English letters and numbers, we need to exclude Chinese characters.

This article will introduce several methods of excluding Chinese characters in PHP for readers' reference.

Method 1: Use regular expressions

Using regular expressions can more easily exclude Chinese characters. The following is a sample code:

function excludeChinese($str) {

    return preg_replace("/[\x7f-\xff]+/", '', $str);

}

$name = "张三";
$name = excludeChinese($name);
echo $name; //输出为空
Copy after login

In the above code, the preg_replace function is used to replace the Chinese characters in the string with an empty string to exclude Chinese characters. [\x7f-\xff] means matching all Chinese characters in the ASCII code table.

Considering that the encoding of Chinese characters is not unique, this method is not perfect. In some cases, other methods of Chinese character exclusion may be necessary.

Method 2: Use the mb_check_encoding function

Use the mb_check_encoding function to exclude Chinese characters. The following is a sample code:

function excludeChinese($str) {

    $len = mb_strlen($str);
    for ($i=0; $i<$len; $i++) {
        $char = mb_substr($str, $i, 1);
        if (!mb_check_encoding($char, 'ASCII')) {
            return '';
        }
    }
    return $str;
}

$name = "张三";
$name = excludeChinese($name);
echo $name; //输出为空
Copy after login

The above code uses the mb_check_encoding function to detect whether each character in the string is an ASCII character. If not, an empty string is returned to exclude Chinese characters.

Method 3: Using the iconv function

Another way to exclude Chinese characters is to use the iconv function. The following is a sample code:

function excludeChinese($str) {

    $str = iconv("UTF-8", "ASCII//IGNORE", $str);
    return $str;
}

$name = "张三";
$name = excludeChinese($name);
echo $name; //输出空字符串
Copy after login

In the above code, the encoding of the string is first converted from UTF-8 to ASCII encoding, then the Chinese characters are ignored through the IGNORE parameter, and finally the result string is returned.

Conclusion

The above methods can all achieve the exclusion of Chinese characters, and the specific method can be selected according to needs. Of course, different methods may be needed in different scenarios. In actual development, it is best to make a choice based on specific application conditions.

The above is the detailed content of How to exclude Chinese characters in php (three methods). For more information, please follow other related articles on the PHP Chinese website!

source:php.cn
Statement of this Website
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
Popular Tutorials
More>
Latest Downloads
More>
Web Effects
Website Source Code
Website Materials
Front End Template