首页建站经验 php多语言截取字符串函数

php多语言截取字符串函数

function msubstr($str, $start = 0, $length, $lenth2, $suffix = true) {//$length 中文截取长度,$lenth2英文截取长度 $suffix 是否省略号$charset = 'utf-8';if (LANG_SE…

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;

}

 

本文来自网络,不代表1号站长-站长学院|资讯交流平台立场。转载请注明出处: https://www.1cn.cc/jianzhan/jingyan/17103.html
上一篇PHP gettype()、empty()、is_null()、isset()判断是否为空的几个函数对比
下一篇 php随机密码生成的自定义函数
admin

作者: admin

这里可以再内容模板定义一些文字和说明,也可以调用对应作者的简介!或者做一些网站的描述之类的文字或者HTML!

为您推荐

评论列表()

    联系我们

    联系我们

    0898-88888888

    在线咨询: QQ交谈

    邮箱: email@wangzhan.com

    工作时间:周一至周五,9:00-17:30,节假日休息

    关注微信
    微信扫一扫关注我们

    微信扫一扫关注我们

    关注微博
    返回顶部