Home  >  Article  >  Backend Development  >  PHP指定截取字符串中的中英文或数字字符的实例分享_php实例

PHP指定截取字符串中的中英文或数字字符的实例分享_php实例

WBOY
WBOYOriginal
2016-06-07 17:08:41851browse

我们在开发过程中,经常会碰到截取中文英文数字等的问题,大家知道中文所占的字符和英文数字是不同的;然后我们就会在项目的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:过滤字符串中空格的方法

去除字符串首尾中英文空格的方法:

function mbTrim($str)  
{  
  return mb_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); 

Statement:
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn