PHP字符串截取方法,支持中文和其他编码:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 | /** +---------------------------------------------------------- * 字符串截取,支持中文和其他编码 +---------------------------------------------------------- * @static * @access public +---------------------------------------------------------- * @param string $str 需要转换的字符串 * @param string $start 开始位置 * @param string $length 截取长度 * @param string $charset 编码格式 * @param boolean $suffix 截断显示字符 * @param boolean $stripTags 是否去掉HTML及PHP的标记 +---------------------------------------------------------- * @return string +---------------------------------------------------------- */ function msubstr( $str , $start =0, $length , $charset = "utf-8" , $suffix =true, $stripTags =false) { $str = $stripTags ? strip_tags ( $str ) : $str ; if (function_exists( "mb_substr" )) $slice = mb_substr( $str , $start , $length , $charset ); elseif (function_exists( 'iconv_substr' )) { $slice = iconv_substr( $str , $start , $length , $charset ); if (false === $slice ) { $slice = '' ; } } else { $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 ( $slice == $str ){ return $str ; } else { return $suffix ? $slice . '...' : $slice ; } } |
转载请注明来源地址:小川编程 » https://www.youhutong.com/index.php/article/index/104.html
1、本站发布的内容仅限用于学习和研究目的.请勿用于商业或非法用途,下载后请24小时内删除。
2、本站所有内容均不能保证其完整性,不能接受请勿购买或下载,如需完整程序,请去其官方购买正版使用
3、本站联系方式Email:admin@youhutong.com ,收到邮件会第一时间处理。
4、如侵犯到任何版权问题,请立即告知本站(立即在线告知),本站将及时删除并致以最深的歉意