php中英文字符串长度截取

使用此方法之前,请在php.ini中开启php_mbstring.dll扩展,将extension前面的;分号去掉即可

<?php
/*mb_string方法截取字符串长度
* $arr_str 数组或字符串
* $tlen 截取长度
* $fleid 要截取的字段(数组形式)
*/
header('Content-Type: text/html; charset=utf-8');
function interception($arr_str,$tlen,$fleid='') {
//判断是否是数组
if (is_array($arr_str)) {
//将数组下标重新排列
foreach ($arr_str as $key => $val) {
for ($k = 0; $k < count($fleid); $k++) {
$content = $arr_str[$fleid[$k]];
//判断是否大于指定的长度
if (mb_strlen($content,'utf-8') > $tlen) {
$arr_str[$fleid[$k]] = mb_substr($content,0,$tlen,'utf-8').'...';
}
}
}
}
//判断是否是字符串
elseif (is_string($arr_str)) {
if (mb_strlen($arr_str,'utf-8') > $tlen) {
$arr_str = mb_substr($arr_str,0,$tlen,'utf-8').'...';
}
}
return $arr_str;
}
//使用示例
//数组示例
$array = array(
'ha' => '哈尔滨市',
'bei' => '地球中国北京市',
);
//字符串示例
$string = '中国的互联网:商业化很牛,公共服务几乎没有谢文';
$string2 = 'abcdefghijkl';
print_r(interception($array,2,array('ha','bei')));
echo '<br />'.interception($string,5);
echo '<br />'.interception($string2,5);
?>

结果输出:

Array ( [ha] => 哈尔… [bei] => 地球… )
中国的互联…
abcde…

分享到:
标签:mb_string,PHP,字符串截取,
^_^ 亲爱的客官,如果您觉得本文对您有好处,请移动你的鼠标点点下面的广告或上面的或右上角的,非常感谢~ ^_^

php中英文字符串长度截取:目前有6 条留言

  1. 这篇居然是2月18日更新的,亲,已经一个多月没更新文章了。

    2014-03-19 下午 11:56
    • 这几天正准备更新呢。。

      2014-03-20 上午 9:15
  2. 又是技术呀

    2014-03-18 上午 11:26
  3. 不错的方法

    2014-03-17 上午 10:34
  4. 支持一下~~~~~~~

    2014-03-15 下午 2:32
  5. 好白的主题啊..

    2014-03-10 下午 7:29