A5下载 - 努力做内容最丰富最安全的下载站!

A5站长下载站

当前位置:A5下载 > 源码技巧 > 父类数据 > php多语言截取字符串函数

php多语言截取字符串函数

时间:2015-05-29 10:11作者:sa人气:43

function msubstr($str, $start = 0, $length, $lenth2, $suffix = true) {

//$length 中文截取长度,$lenth2英文截取长度 $suffix 是否省略号

$charset = 'utf-8';

if (LANG_SET != 'zh') {

$length = $lenth2;

}

$str = preg_replace("/(<[^<]*>|r|n|s|[.+?])/is", ' ', $str);

if (function_exists("mb_substr"))

$slice = mb_substr($str, $start, $length, $charset);

elseif (function_exists('iconv_substr')) {

$slice = iconv_substr($str, $start, $length, $charset);

if (false === $slice) {

$slice = '';

}

} else {

$re['utf-8'] = "/[x01-x7f]|[xc2-xdf][x80-xbf]|[xe0-xef][x80-xbf]{2}|[xf0-xff][x80-xbf]{3}/";

$re['gb2312'] = "/[x01-x7f]|[xb0-xf7][xa0-xfe]/";

$re['gbk'] = "/[x01-x7f]|[x81-xfe][x40-xfe]/";

$re['big5'] = "/[x01-x7f]|[x81-xfe]([x40-x7e]|xa1-xfe])/";

preg_match_all($re[$charset], $str, $match);

$slice = join("", array_slice($match[0], $start, $length));

}

$fix = '';

if (LANG_SET == 'zh') {

$slice = str_replace(' ', '', $slice);

if (strlen($slice) > $length) {

$fix = '...';

}

} else {

if (strlen($str) > $lenth2) {

$fix = '...';

}

}

return $suffix ? $slice . $fix : $slice;

}

 

标签php,语言,截取,字符串,函数,function,msub

相关下载

查看所有评论+

网友评论

网友
您的评论需要经过审核才能显示

公众号