PHP指定截取字符串中的中英文或数字字符的实例分享
我们在开发过程中,经常会碰到截取中文英文数字等的问题,大家知道中文所占的字符和英文数字是不同的;然后我们就会在项目的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);