-
-
/* - * @todo Chinese interception, support gb2312, gbk, utf-8, big5
- * @http://bbs.it-home.org
- * @param string $str The string to be intercepted
- * @param int $start The interception starting position
- * @param int $length The 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;
- }
- ?> ;
-
-
Copy the code
The above code looks awesome, if you know the regular rules of PHP, it is quite powerful.
Copy the above code and test it on your machine. Doing more will help you quickly improve your programming level.
|