永发信息网

php如何中判断中文或但有中文标点符号的字符串

答案:2  悬赏:70  手机版
解决时间 2022-01-01 12:41
php如何中判断中文或但有中文标点符号的字符串
最佳答案
可以根据中文的ASCII大于127来判断
$num = strlen($str);
for($i=0;$i<$num;$i++){
if(ord(substr($i,$i+1)) > 127){
echo substr($i,$i+2)."为中文";
$i = $i+1;
}
}
全部回答
直接判断就好了 首先汉字占两位,而且用char数组存的话第一位是负的。 标点符号有全角的也有半角的,后面那种比较简单,直接占1位,前面那种占两位。 遍历字符串,如果当前是那个是正数,直接和半角标点比较,如果是负数,跟全角比较就好了。 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 bool banjiao(char c){ const char sign[]={",.!?/'\"<>\\:;"};//半角的符号,自己可以添加 for(int i=0;sign[i];i++) if(sign[i]==c) return true; return false; } bool quanjiao(char *c){ //两位 const char sign[]={",。!?、;:“”‘’"};//全角的符号,自己可以添加 for(int i=0;sign[i];i+=2) //i+=2 if(sign[i]==c[0] && sign[i+1]==c[1])return true; return false; } int main(){ char str[1024]; cin>>str; int cnt=0; for(int i=0;str[i];i++){ if(str[i]>=0){ if(banjiao(str[i])) cnt++; }
我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
空气炸锅能做什么菜
襄邑[注]道中阅读答案
王家文庄村委会办公地址在什么地方?我要处理
扣扣如何解除情侣空间
显卡紧急求助!!!,大家好请问蓝宝石的HD 2600X
填空题命题“?x∈R,x2+1<0”的否定形式是__
pt100二线制热电阻与XMT102显示仪表之间怎么
开通联通的短信流量提醒要钱吗?
小李家村委会位置在什么地方啊,我要过去办理
我有个电子管上面标注6C6B哪位大侠知道是什么
单选题将两种不同种的果蝇进行杂交,得到杂种
背包满了之后,翻牌给的东西哪去了?
请问,我家宝宝的头总是爱向上看怎么办,刚满月
关于节哀,的句子
单选题下列鉴别物质的方法中,错误的是A.用燃
推荐资讯
撞人后不知道算逃逸吗
手机灵敏度怎么调
15比6少9对不对
南京到苏州怎么去
茗道轩茶楼地址在什么地方,想过去办事
老鸭粉丝汤&面馆地址在什么地方,想过去办事
东盛大街/同兴路(路口)地址有知道的么?有点
美味源广式包点地址有知道的么?有点事想过去
新创小区D座地址在什么地方,想过去办事
客天下地址在什么地方,想过去办事
禺山西路/雍景路(路口)地址在哪,我要去那里
正方形一边上任一点到这个正方形两条对角线的
阴历怎么看 ?