我们在开发过程中,经常会碰到截取中文英文数字等的问题,大家知道中文所占的字符和英文数字是不同的;然后我们就会在项目的common里写一些日常的函数包含时间计算转换和中英文字符截取的函数;比如截取中英文的函数没个几行代码恐怕拿不下来的吧,现在就告诉大家一个简单的(自己本地运行过的),如有问题,请大家多多指教 $c='ddaabbccaa';$d='地球需要我们每个人的爱护';$frist1=mb_substr($c,0,1,"UTF-8");//d$delete_last1=mb_substr($d,-1,1,"UTF-8");//护echo$frist1.'+++'.$delete_last1.'<br/>';//d+++护$frist2=mb_substr($d,0,1,"UTF-8");//地$delete_last2=mb_substr($d,-1,1,"UTF-8");//护echo$frist2.'+++'.$delete_last2.'<br/>';//地+++护$e='11aa22cc33';$f='aa地球需要我们每个人的爱护';$g='地球需要我们每个人的爱护gg';$h='地球需要我们每个人的爱护';$first3=mb_substr($e,0,1,"UTF-8");//1$last3=mb_substr($f,0,1,"UTF-8");//a$delete_last3=mb_substr($f,-1,1,"UTF-8");//护$delete_last4=mb_substr($g,-1,1,"UTF-8");//g$frist4=mb_substr($g,0,1,"UTF-8");//地$delete_last5=mb_substr($h,-1,1,"UTF-8");//护echo$first3.'+++'.$last3.'---'.$delete_last3.'***'.$delete_last4.'&&&'.$frist4.'<br/>';//1+++a---护***g&&&地echo$last3.'...'.$delete_last3.'<br/>';//a...护echo$frist4.'...'.$delete_last5.'<br/>';//地...护//这样不管字符串里是中英文数字等都是可以的无需判断,如:”地...护“或者“地...”或者“...护”PS:过滤字符串中空格的方法去除字符串首尾中英文空格的方法:functionmbTrim($str){returnmb_ereg_replace('(^( |)+|( |)+$)','',$str);}下面的正则验证时过滤掉用户输入的连续空格,包括全角空格和半角空格$user=mb_ereg_replace('^( |)+','',$user);$user=mb_ereg_replace('( |)+$','',$user);$age=mb_ereg_replace('^( |)+','',$age);$age=mb_ereg_replace('( |)+$','',$age);$method=mb_ereg_replace('^( |)+','',$method);$method=mb_ereg_replace('( |)+$','',$method);$address=mb_ereg_replace('^( |)+','',$address);$address=mb_ereg_replace('( |)+$','',$address);