Home  >  Article  >  Backend Development  >  Regular matching of Chinese characters in php_PHP tutorial

Regular matching of Chinese characters in php_PHP tutorial

WBOY
WBOYOriginal
2016-07-13 17:14:461958browse

In php, if you want to use regular expression to get Chinese characters in a string, we first need to know the page encoding. Regular matching of Chinese characters is slightly different depending on the page encoding: GBK/GB2312 encoding: [x80-xff>]+ or [ xa1-xff]+ and UTF-8 encoding: [x{4e00}-x{9fa5}]+/u.

Example

The code is as follows
 代码如下 复制代码

echo (mb_eregi("[x80-xff].","中d文") ? "有" : "无") ."汉字";
echo (mb_eregi("^([x80-xff].)+$","中文") ? "全是汉字" : ""); 看一判断全中文字符串函数

Copy code

 代码如下 复制代码

$str = "学习php是一件快乐的事。";
preg_match_all("/[x80-xff]+/", $str, $match);
//UTF-8 使用:
//preg_match_all("/[x{4e00}-x{9fa5}]+/u", $str, $match);
print_r($match);
?>

输出:

Array
(
    [0] => Array
        (
            [0] => 学习
            [1] => 是一件快乐的事。
        )

)

echo (mb_eregi("[x80-xff].","中文") ? "有" : "无") ."汉字";

echo (mb_eregi("^([x80-xff].)+$","Chinese") ? "All Chinese characters" : ""); Take a look at the function to determine all Chinese strings

 代码如下 复制代码

$str = "请问php中的eregi如何匹配汉字";
if (preg_match("/^[".chr(0x80)."-".chr(0xff)."]+$/",$str)) {
   echo "这是一个纯中文字符串";
} else{
   echo "这不是一个纯中文字串";
}
preg_match_all($pat,……)与preg_replace($pat,……)……



The following uses PHP as an example for matching:

Preg_match_all("/[x80-xff]+/", $str, $match);
The code is as follows

Copy code
 代码如下 复制代码

$str = "小小子";
if(preg_match("/^[xb0-xf7][xa0-xfe]+$/",$str)){
print($str."确实全是汉字");
} else {
print($str."这个真tc不全是汉字");
}
?>

$str = "Learning PHP is a happy thing.";
//UTF-8 usage:

//preg_match_all("/[x{4e00}-x{9fa5}]+/u", $str, $match);

Print_r($match);

?>Output: Array ( [0] => Array (                                            [0] => [1] = & gt; is a happy thing. ) )
Regular Chinese characters
The code is as follows Copy code
$str = "How to match eregi in php with Chinese characters"; if (preg_match("/^[".chr(0x80)."-".chr(0xff)."]+$/",$str)) { echo "This is a pure Chinese string"; } else{ echo "This is not a pure Chinese string"; } preg_match_all($pat,…) and preg_replace($pat,…)… preg_match_all("/(汉字)+/ism","I am a Chinese character, let's see what you do to me!",$m_a); If you know the beginning and end of the high and low bits of each code, then you can naturally write the regular expression, and it is directly in sixteen bits. What's the difficulty? hehe. But please note that in php, x is used to indicate sixteen digits We can also use this regular expression to determine whether it is the Chinese character of gb2312
The code is as follows Copy code
$str = "Little boy";<🎜> if(preg_match("/^[xb0-xf7][xa0-xfe]+$/",$str)){<🎜> print($str."It is indeed all Chinese characters");<🎜> } else {<🎜> print($str."This real tc is not all Chinese characters");<🎜> }<🎜> ?> http://www.bkjia.com/PHPjc/628906.htmlwww.bkjia.comtruehttp: //www.bkjia.com/PHPjc/628906.htmlTechArticleIn php, if you want to use regular expression to get Chinese characters in a string, we first need to know the page encoding. Regular expression matches Chinese characters. There are slight differences depending on the page encoding: GBK/GB2312 encoding: [x80-x...
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