Home >Backend Development >PHP Problem >Can php determine whether a string is Chinese?

Can php determine whether a string is Chinese?

青灯夜游
青灯夜游Original
2022-12-15 16:35:216534browse

Can judge. Judgment method: 1. Use the preg_match() function with regular rules to determine whether it is all Chinese, the syntax is "!preg_match("/[^\x80-\xff]/i",$str)"; 2. Use the preg_match() function Use regular rules to determine whether it contains Chinese characters, using the syntax "preg_match("/[\x7f-\xff]/", $str)" or "preg_match('/[^\x00-\x80]/',$str)".

"Can

The operating environment of this tutorial: windows7 system, PHP version 8.1, DELL G3 computer

php can determine whether the string is Chinese, mainly It is determined by using regular Chinese matching.

The judgment can be divided into two situations:

  • The string is all Chinese characters

  • The string contains Chinese

Case 1: Judgment is all Chinese

Method: preg_match() function regular expression "/[^\x80-\xff]/i

<?php
header(&#39;content-type:text/html;charset=utf-8&#39;);   
$str = "12hello13";
$str="&#39;324是"; 
if(!preg_match("/[^\x80-\xff]/i",$str)){ 
echo "全是中文,是中文字符串"; 
}else{ 
echo "不是中文字符串"; 
} 
?>

"Can

##Case 2: Determine to contain Chinese

Method 1: preg_match() function regular expression "

/[\x7f-\xff]/"

<?php
header(&#39;content-type:text/html;charset=utf-8&#39;);   
$str = "中文"; 
if (preg_match("/[\x7f-\xff]/", $str)) { 
echo "含有中文"; 
}else{ 
echo "没有中文"; 
} 
?>

"Can

Method 2: preg_match ()Function regular expression "

/[^\x00-\x80]/"

<?php
header(&#39;content-type:text/html;charset=utf-8&#39;);   
$str = "1234"; 
$pattern = &#39;/[^\x00-\x80]/&#39;; 
if(preg_match($pattern,$str)){ 
echo "含有中文"; 
}else{ 
echo "没有中文"; 
}
?>

"Can

##Function description: preg_match()

The preg_match() function in PHP can search and match strings based on regular expressions. The syntax format of the function is as follows:

preg_match($pattern,$subject [, &$matches [, $flags = 0 [, $offset = 0 ]]])

The parameter description is as follows:

    $pattern: The pattern to be searched, which is the edited regular expression;
  • $subject: The string to be searched;
  • $matches: Optional parameter (array type), if $matches is provided, it will be populated as search results. $matches[0] contains the text matched by the complete pattern, $matches[1] contains the text matched by the first capture subgroup, and so on;
  • $flags: Yes Optional parameters, $flags can be set to PREG_OFFSET_CAPTURE. If this flag is passed, for each occurrence of a match, the string offset (relative to the target string) will be appended to the return;
  • $offset: Optional parameter, used to specify where to start searching in the target string (unit is byte).
  • preg_match() function can return the number of matches for $pattern, its value will be 0 times (no match) or 1 time, because preg_match() will The search will stop.

Recommended learning: "

PHP Video Tutorial

"

The above is the detailed content of Can php determine whether a string is Chinese?. For more information, please follow other related articles on the PHP Chinese website!

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