In php, Chinese Character regular expressions may be very simple for some friends, but during use, we will find that the gbk encoding and uft8 encoding may be a little different. The following is a small series to introduce.
Chinese character Regular Expression in gbk Encoding
1. Determine whether the string is full of Chinese Characters
The Code is as follows: |
Copy code |
<? Php $ Str = 'all are Chinese Character test '; If (preg_match_all ("/^ ([x81-xfe] [x40-xfe]) + $/", $ str, $ match )){ Echo 'all Chinese characters '; } Else { Echo 'all Chinese characters '; } ?> |
When $ str = 'all are Chinese Character test', the output "All are Chinese characters ";
When $ str = 'all is a Chinese character test', the output is "Not all Chinese characters ";
2. Determine whether a string contains Chinese Characters
The Code is as follows: |
Copy code |
<? Php $ Str = 'Chinese character 3 test '; If (preg_match ("/([x81-xfe] [x40-xfe])/", $ str, $ match )){ Echo 'contains Chinese characters '; } Else { Echo 'contains no Chinese characters '; } ?> |
When $ str = 'Chinese character 3 test', the output "contains Chinese characters ";
When $ str = 'abc345';, the output "contains no Chinese characters ";
The content of the above variable $ str is irrelevant to utf8 or gbk encoding and the result is the same.
How to match Chinese characters with regular expressions in UTF-8 encoding
The Code is as follows: |
Copy code |
$ Str = "php programming "; If (preg_match ("/^ [x {4e00}-x {9fa5}] + $/u", $ str )){ Print ("all strings are Chinese "); } Else { Print ("Not all strings are Chinese "); } |