msubstr截取中文 stristr() 函数查找字符串在另一个字符串中第一次出现的位置

 1 {$vons.title|msubstr=0,26} 像这样,总是显示错误,说msubstr函数未定义,
 2 在使用这个函数之前是否需要引入什么文件?
 3 Common/common.php中定义函数:
 4 
 5 function msubstr($str, $start=0, $length, $charset="utf-8", $suffix=true)
 6 {
 7     if(function_exists("mb_substr")){
 8             if ($suffix && strlen($str)>$length)
 9                 return mb_substr($str, $start, $length, $charset)."...";
10         else
11                  return mb_substr($str, $start, $length, $charset);
12     }
13     elseif(function_exists('iconv_substr')) {
14             if ($suffix && strlen($str)>$length)
15                 return iconv_substr($str,$start,$length,$charset)."...";
16         else
17                 return iconv_substr($str,$start,$length,$charset);
18     }
19     $re['utf-8']   = "/[\x01-\x7f]|[\xc2-\xdf][\x80-\xbf]|[\xe0-\xef][\x80-\xbf]{2}|[\xf0-\xff][\x80-\xbf]{3}/";
20     $re['gb2312'] = "/[\x01-\x7f]|[\xb0-\xf7][\xa0-\xfe]/";
21     $re['gbk']    = "/[\x01-\x7f]|[\x81-\xfe][\x40-\xfe]/";
22     $re['big5']   = "/[\x01-\x7f]|[\x81-\xfe]([\x40-\x7e]|\xa1-\xfe])/";
23     preg_match_all($re[$charset], $str, $match);
24     $slice = join("",array_slice($match[0], $start, $length));
25     if($suffix) return $slice."…";
26     return $slice;
27 }
28 
29 就是这么简单

echop sub_str
foreach($hot_goods_list AS $idx => $row){
$hot_goods_list[$idx]['goods_name'] = $GLOBALS['_CFG']['goods_name_length'] > 0 ?
sub_str($row['goods_name'], $GLOBALS['_CFG']['goods_name_length']) : $row['goods_name'];

}

 

posted @ 2015-03-04 11:23  xiaolang001  阅读(329)  评论(0编辑  收藏  举报