您正在使用 IPV4 [3.128.94.171] 访问本站,您本次已经查看了 1 页
用户名: 密 码: 验证码:     用QQ登录本站
首页 软件 编程 笑话 知识 公告 台风 日历 计算器
悟空收录网       [公益]保护绿色环境,构建和谐社会      

【腾讯云】2核2G4M云服务器新老同享99元/年,续费同价      
[公益] 地球是我家,绿化靠大家      
2024年 劳动节 到期
2024年 端午节 039
2025年 元 旦 244
2025年 春 节 272
 
您现在的位置:首页 >> PHP >> 内容
本类新增
本类热门
php 中文和编码判断代码
内容摘要: 编码范围1.GBK(GB2312/GB18030)\x00-\xffGBK双字节编码范围\x20-\x7fASCII\xa1-\xff中文\x80-\xff中文2.UTF-8(Unicode)\u4e00-\u9fa5(中文)\x3130-\x318F(韩文\xAC00-\xD7A3(韩文)\u0800-\u4e00(日文)ps:韩文是大于[\u9fa5]的......
编码范围1.GBK(GB2312/GB18030)

\x00-\xffGBK双字节编码范围

\x20-\x7fASCII

\xa1-\xff中文

\x80-\xff中文

2.UTF-8(Unicode)

\u4e00-\u9fa5(中文)

\x3130-\x318F(韩文

\xAC00-\xD7A3(韩文)

\u0800-\u4e00(日文)

ps:韩文是大于[\u9fa5]的字符

正则例子:

preg_replace(”/([\x80-\xff])/”,”",$str);

preg_replace(”/([u4e00-u9fa5])/”,”",$str);

二、代码例子

复制代码代码如下:

//判断内容里有没有中文-GBK(PHP)

functioncheck_is_chinese($s){

returnpreg_match('/[\x80-\xff]./',$s);

}

//获取字符串长度-GBK(PHP)

functiongb_strlen($str){

$count=0;

for($i=0;$i<strlen($str);$i++){

$s=substr($str,$i,1);

if(preg_match("/[\x80-\xff]/",$s))++$i;

++$count;

}

return$count;

}

//截取字符串字串-GBK(PHP)

functiongb_substr($str,$len){

$count=0;

for($i=0;$i<strlen($str);$i++){

if($count==$len)break;

if(preg_match("/[\x80-\xff]/",substr($str,$i,1)))++$i;

++$count;

}

returnsubstr($str,0,$i);

}

//统计字符串长度-UTF8(PHP)

functionutf8_strlen($str){

$count=0;

for($i=0;$i<strlen($str);$i++){

$value=ord($str[$i]);

if($value>127){

$count++;

if($value>=192&&$value<=223)$i++;

elseif($value>=224&&$value<=239)$i=$i+2;

elseif($value>=240&&$value<=247)$i=$i+3;

elsedie('NotaUTF-8compatiblestring');

}

$count++;

}

return$count;

}

//截取字符串-UTF8(PHP)

functionutf8_substr($str,$position,$length){

$start_position=strlen($str);

$start_byte=0;

$end_position=strlen($str);

$count=0;

for($i=0;$i<strlen($str);$i++){

if($count>=$position&&$start_position>$i){

$start_position=$i;

$start_byte=$count;

}

if(($count-$start_byte)>=$length){

$end_position=$i;

break;

}

$value=ord($str[$i]);

if($value>127){

$count++;

if($value>=192&&$value<=223)$i++;

elseif($value>=224&&$value<=239)$i=$i+2;

elseif($value>=240&&$value<=247)$i=$i+3;

elsedie('NotaUTF-8compatiblestring');

}

$count++;

}

return(substr($str,$start_position,$end_position-$start_position));

}

//判断是否是有韩文-UTF-8(JavaScript)

functioncheckKoreaChar(str){

for(i=0;i<str.length;i++){

if(((str.charCodeAt(i)>0x3130&&str.charCodeAt(i)<0x318F)||(str.charCodeAt(i)>=0xAC00&&str.charCodeAt(i)<=0xD7A3))){

returntrue;

}

}

returnfalse;

}

//判断是否有中文字符-GBK(JavaScript)

functioncheck_chinese_char(s){

return(s.length!=s.replace(/[^\x00-\xff]/g,"**").length);

}

版权声明:本内容来源于网络,如有侵犯您的版权,请联系站长,本站收到您的信息后将及时处理。
上一篇:php过滤html标记属性类用法实例

 

下一篇:PHP限制HTML内容中图片必须是本站的方法

发布日期:2023/4/11
手机扫二维码直达本页
发布时间:11:24:51
点  击:8
录  入:齐天大圣
相关文章
Baidu
YiJiaCMS 7.3.8 build231228(MSSQL) 闽ICP备05000814号-1
本空间由腾讯云(轻量应用服务器)提供,奇安信网站卫士提供加速防护
运行时间载入中.....