很多站长朋友们都不太清楚php判断汉字,今天小编就来给大家整理php判断汉字,希望对各位有所帮助,具体内容如下:
本文目录一览: 1、 php检查字符串中是否有汉字/数字/英文字母 2、 php 如何判断字符是汉字还是英文 3、 PHP判断是不是包含某个汉字 4、 PHP判断是中文还是英文 5、 php判断是汉字还是数字还是字母 6、 php判断字符串里的汉字 php检查字符串中是否有汉字/数字/英文字母只能用正则
<?
$str = "测试中文";
echo $str;
echo "<hr>";
//if (preg_match("/^[".chr(0xa1)."-".chr(0xff)."]+$/", $str)) { //只能在GB2312情况下使用
//if (preg_match("/^[\x7f-\xff]+$/", $str)) { //兼容gb2312,utf-8 //判断字符串是否全是中文
if (preg_match("/[\x7f-\xff]/", $str)) { //判断字符串中是否有中文
echo "有中文";
} else {
echo "没中文";
}
if (preg_match("/\d/", $str)) { //判断字符串中是否有数字
echo "有数字";
} else {
echo "没数字";
}
if (preg_match("/\w/", $str)) { //判断字符串中是否有英文
echo "有英文";
} else {
echo "没英文";
}
?>
php 如何判断字符是汉字还是英文常见的就是用strlen()和mb_strlen()函数
strlen($str); 中文utf8占3个字符
mb_strlen($str,'utf8'); 中文utf8占1个字符
可以根据strlen()和mb_strlen()返回结果,两者比较判断是汉字、英文还是中英混合
strlen() 等于 mb_strlen() 全英
strlen() 对 mb_strlen() 取余为0 全汉
需要注意的是,mb_strlen并不是PHP核心函数,使用前需要确保在php.ini中加载了php_mbstring.dll,即确保“extension=php_mbstring.dll”这一行存在并且没有被注释掉,否则会出现未定义函 数的问题。
PHP判断是不是包含某个汉字strstr:
返回一个从被判断字符开始到结束的字符串,如果没有返回值,则不包含.
stristr:
它和strstr的使用方法完全一样.唯一的区别是stristr不区分大小写.
=
‘
user中example测试数据’;
$domain
=
strstr($email,
‘中’);
echo
$domain;
//
prints
中example测试数据
PHP判断是中文还是英文/*
判断输入是否是纯数字,英文,汉字等
利用php的mb_strlen和strlen函数就可以轻松得知字符串的构成是全英文、中英混合、全中文。
1: 如果strlen返回的字符长度和mb_strlen以当前编码计算的长度一致,则为纯英文字符串
2: 如果strlen返回的字符长度和mb_strlen以当前编码计算的长度不一致,并且strlen返回值和mb_strlen返回值求余后得0 则为全汉字
3: 如果strlen返回的字符长度和mb_strlen以当前编码计算的长度不一致,并且strlen返回值和mb_strlen返回值求余后不为0 则为中英混合
*/
<?php
$str = "123456abc汉字";
$x = mb_strlen($str, 'gb2312');
$y = strlen($str);
echo "-----------$str----------<br>";
echo "x: ".$x."<br>";
echo "y: ".$y."<br>";
?>
php判断是汉字还是数字还是字母php可以判断汉子,数字,字母,字符串等.只要你不是乱码,一般都可以判断
php判断字符串里的汉字<?php
header("Content-Type:text/html;charset=utf-8");//截取utf8字符串
function utf8Substr($str, $from, $len){
return preg_replace('#^(?:[\x00-\x7F]|[\xC0-\xFF][\x80-\xBF]+){0,'.$from.'}'.
'((?:[\x00-\x7F]|[\xC0-\xFF][\x80-\xBF]+){0,'.$len.'}).*#s',
'$1',$str);
}//拆分字符串里的每个元素并输出
function func_test($str){
$len = strlen($str);
$len_new = 0;
for($i=0;$i<$len;++$i){
++$len_new;
if(ord(substr($str, $i, 1)) > 0xa0) {
++$i;
++$i;
}
}
for($i=0;$i<$len_new;++$i){
$arr[] = utf8Substr($str,$i,1);
}
echo implode(",",$arr);
}$str='逸12你好o是否o暗s示《<';
func_test($str);
?>这个方法在utf-8编码的文件下可以实现你要的功能!
关于php判断汉字的介绍到此就结束了,不知道本篇文章是否对您有帮助呢?如果你还想了解更多此类信息,记得收藏关注本站,我们会不定期更新哦。
查看更多关于php判断汉字 php 判断字符串是否存在某个字符串的详细内容...