用户名:
密 码: 记住
您当前的位置:首页 > 网络编程 > php教程

php中英文字符串长度截取的例子

时间:2015-01-23  来源:西部数据  作者:西部数据

使用此方法之前,请在php.ini中开启php_mbstring.dll扩展,将extension前面的;分号去掉即可,很多截取中文字符串的方法,大多不能实现按中文个数来截取所要的字符,以下代码可以实现:

  1. <?php 
  2. mb_internal_encoding('UTF-8'); 
  3. $str = "中文测试chineseTest"
  4.  
  5. header('content-type:text/html; charset=UTF-8'); 
  6. echo mb_strlen($str); 
  7. echo '<br/>'
  8. echo mb_substr($str,1,6); 
  9. ?> 

输出结果:15 文测试chi

上面只是测试,下面整理例子,代码如下:

  1. <?php 
  2. /*mb_string方法截取字符串长度 
  3. * $arr_str 数组或字符串 
  4. * $tlen 截取长度 
  5. * $fleid 要截取的字段(数组形式) 
  6. */ 
  7. header('Content-Type: text/html; charset=utf-8'); 
  8. function interception($arr_str,$tlen,$fleid='') { 
  9. //判断是否是数组 
  10. if (is_array($arr_str)) { 
  11. //将数组下标重新排列 
  12. foreach ($arr_str as $key => $val) { 
  13. for ($k = 0; $k < count($fleid); $k++) { 
  14. $content = $arr_str[$fleid[$k]]; 
  15. //判断是否大于指定的长度 
  16. if (mb_strlen($content,'utf-8') > $tlen) { 
  17. $arr_str[$fleid[$k]] = mb_substr($content,0,$tlen,'utf-8').'...'
  18. //判断是否是字符串 
  19. elseif (is_string($arr_str)) { 
  20. if (mb_strlen($arr_str,'utf-8') > $tlen) { 
  21. $arr_str = mb_substr($arr_str,0,$tlen,'utf-8').'...'
  22. return $arr_str
  23. //使用示例 
  24. //数组示例 
  25. $array = array
  26. 'ha' => '哈尔滨市'
  27. 'bei' => '地球中国北京市'
  28. ); 
  29. //字符串示例 
  30. $string = '中国的互联网:商业化很牛,公共服务几乎没有谢文'
  31. $string2 = 'abcdefghijkl'
  32. print_r(interception($array,2,array('ha','bei'))); 
  33. echo '<br />'.interception($string,5); 
  34. echo '<br />'.interception($string2,5); 
  35. ?> 
来顶一下
返回首页
返回首页
推荐资讯
WiFi太不安全:7岁女孩11分钟内入侵公共网络 WiFi太不安全:7岁女孩11分钟内入侵近期刚刚发布研究说WiFi网络能获得人们手机里多少私人信息,
不服跑个分?人工智能也出现“刷分”乱象 不服跑个分?人工智能也出现“刷分2014年,人工智能领域突然爆发,成为了科研和科技创业的热门
相关文章
栏目更新
栏目热门