<?php
header("Content-type: text/html; charset=gbk");
function cutstr($str, $start, $length, $charset)
{
$charsets["utf-8"] = $charsets["utf8"] = "/[\x01-\x7f]|[\xc2-\xdf][\x80-\xbf]|[\xe0-\xef][\x80-\xbf]{2}|[\xf0-\xff][\x80-\xbf]{3}/";
$charsets["gb2312"] = "/[\x01-\x7f]|[\xb0-\xf7][\xa0-\xfe]/";
$charsets["gbk"] = "/[\x01-\x7f]|[\x81-\xfe][\x40-\xfe]/";
$charsets["big5"] = "/[\x01-\x7f]|[\x81-\xfe]([\x40-\x7e]|\xa1-\xfe])/";
preg_match_all($charsets[$charset], $str, $matches); #按照指定编码将字符串切分成一个数组
$substr = implode("", array_slice($matches[0], $start, $length)); #获取数组的子数组,并将子数组的元素连接起来
return $substr;
}
$str = '本期节目导视:又是一期涨知识的节目,在小编看来,理发剪头是换心情变美美哒的事情,但是这个职业在历史发展过程中有着好几个"兼职",行刑人员,外科医生(?)与之相关 历史上关于理发师的趣事涉及到了这位,想知道这些都是怎么回事吗?今晚六点 山西卫视 老梁故事汇,老梁为你盘点古往今来理发师的职业道路~!';
$start = 0;
$length = 10;
$charset = 'utf-8';
echo cutstr($str, $start, $length, $charset).'……';
header("Content-type: text/html; charset=gbk");
function cutstr($str, $start, $length, $charset)
{
$charsets["utf-8"] = $charsets["utf8"] = "/[\x01-\x7f]|[\xc2-\xdf][\x80-\xbf]|[\xe0-\xef][\x80-\xbf]{2}|[\xf0-\xff][\x80-\xbf]{3}/";
$charsets["gb2312"] = "/[\x01-\x7f]|[\xb0-\xf7][\xa0-\xfe]/";
$charsets["gbk"] = "/[\x01-\x7f]|[\x81-\xfe][\x40-\xfe]/";
$charsets["big5"] = "/[\x01-\x7f]|[\x81-\xfe]([\x40-\x7e]|\xa1-\xfe])/";
preg_match_all($charsets[$charset], $str, $matches); #按照指定编码将字符串切分成一个数组
$substr = implode("", array_slice($matches[0], $start, $length)); #获取数组的子数组,并将子数组的元素连接起来
return $substr;
}
$str = '本期节目导视:又是一期涨知识的节目,在小编看来,理发剪头是换心情变美美哒的事情,但是这个职业在历史发展过程中有着好几个"兼职",行刑人员,外科医生(?)与之相关 历史上关于理发师的趣事涉及到了这位,想知道这些都是怎么回事吗?今晚六点 山西卫视 老梁故事汇,老梁为你盘点古往今来理发师的职业道路~!';
$start = 0;
$length = 10;
$charset = 'utf-8';
echo cutstr($str, $start, $length, $charset).'……';