Home  >  Article  >  Backend Development  >  Chinese string interception function that supports multiple encodings in php!_PHP tutorial

Chinese string interception function that supports multiple encodings in php!_PHP tutorial

WBOY
WBOYOriginal
2016-07-21 15:55:27961browse

Chinese string interception function that supports various encodings! todo Chinese interception, supports gb2312, gbk, utf-8, big5
*

* @param string $str The string to be intercepted * @param int $start The interception starting position * @ param int $length interception length * @param string $charset utf-8|gb2312|gbk|big5 encoding * @param $suffix whether to add a suffix
*/

function csubstr ($str, $start=0, $length, $charset="utf-8", $suffix=true)
{
if(function_exists("mb_substr"))
return mb_substr($str , $start, $length, $charset);
$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));
if($suffix) return $slice."…";
return $slice;
}





http://www.bkjia.com/PHPjc/318282.html

www.bkjia.com

true
http: //www.bkjia.com/PHPjc/318282.html

TechArticle

Statement:
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn