一聚教程网:一个值得你收藏的教程网站

最新下载

热门教程

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

时间:2014-02-23 编辑:简简单单 来源:一聚教程网

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

很多截取中文字符串的方法,大多不能实现按中文个数来截取所要的字符,
以下代码可以实现:

 代码如下 复制代码

mb_internal_encoding('UTF-8');
$str = "中文测试chineseTest";

header('content-type:text/html; charset=UTF-8');
echo mb_strlen($str);
echo '
';
echo mb_substr($str,1,6);
?>

输出结果:
15
文测试chi

上面只是测试,下面整理例子。

 代码如下 复制代码

/*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 '
'.interception($string,5);
echo '
'.interception($string2,5);
?>

热门栏目