首頁  >  文章  >  php教程  >  分享一个多语言截取字符串功能

分享一个多语言截取字符串功能

WBOY
WBOY原創
2016-06-07 11:38:581122瀏覽

在自己项目用到的哈,英文和中文往往字数不一样。用到多语言的项目记得收藏哦!~完全原创~
function msubstr($str, $start = 0, $length, $lenth2, $suffix = true) {<br> //$length 中文截取长度,$lenth2英文截取长度 $suffix 是否省略号<br>     $charset = 'utf-8';<br>     if (LANG_SET != 'zh') {<br>         $length = $lenth2;<br>     }<br>     $str = preg_replace("/(\|\r|\n|\s|\[.+?\])/is", ' ', $str);<br>     if (function_exists("mb_substr"))<br>         $slice = mb_substr($str, $start, $length, $charset);<br>     elseif (function_exists('iconv_substr')) {<br>         $slice = iconv_substr($str, $start, $length, $charset);<br>         if (false === $slice) {<br>             $slice = '';<br>         }<br>     } else {<br>         $re['utf-8'] = "/[\x01-\x7f]|[\xc2-\xdf][\x80-\xbf]|[\xe0-\xef][\x80-\xbf]{2}|[\xf0-\xff][\x80-\xbf]{3}/";<br>         $re['gb2312'] = "/[\x01-\x7f]|[\xb0-\xf7][\xa0-\xfe]/";<br>         $re['gbk'] = "/[\x01-\x7f]|[\x81-\xfe][\x40-\xfe]/";<br>         $re['big5'] = "/[\x01-\x7f]|[\x81-\xfe]([\x40-\x7e]|\xa1-\xfe])/";<br>         preg_match_all($re[$charset], $str, $match);<br>         $slice = join("", array_slice($match[0], $start, $length));<br>     }<br>     $fix = '';<br>     if (LANG_SET == 'zh') {<br>         $slice = str_replace(' ', '', $slice);<br>         if (strlen($slice) > $length) {<br>             $fix = '...';<br>         }<br>     } else {<br>         if (strlen($str) > $lenth2) {<br>             $fix = '...';<br>         }<br>     }<br> <br>     return $suffix ? $slice . $fix : $slice;<br> }本文转自素材火 http://www.sucaihuo.com
有bug的联系我,赶紧纠正哈。。

AD:真正免费,域名+虚机+企业邮箱=0元

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn