프로젝트 개발 과정에서 영어, 중국어 등에서 문자열 가로채기 문제를 자주 접하게 됩니다. 예를 들어 뉴스 목록 페이지에 뉴스 내용에 대한 간략한 소개가 필요한 경우 문자열 가로채기가 필요합니다.
프로젝트 개발 중에 영어, 중국어, 기타 언어에서 문자열 가로채기 문제가 자주 발생합니다. 예를 들어 뉴스 목록 페이지에 뉴스 내용에 대한 간략한 소개가 필요한 경우 문자열 가로채기가 필요합니다.
이제 THINKPHP에서 준비된 문자열 가로채기 함수 를 여러분과 공유하겠습니다.
# 函数解释: msubstr($str, $start=0, $length, $charset=”utf-8″, $suffix=true) /* $str:要截取的字符串 $start=0:开始位置,默认从0开始 $length:截取长度 $charset=”utf-8″:字符编码,默认UTF-8 $suffix=true:是否在截取后的字符后面显示省略号,默认true显示,false为不显示 */
템플릿 사용법:
{$vo.title|msubstr=0,5,'utf-8',false}
Ps: 핵심 버전에 이 기능이 없더라도 걱정하지 마세요. Zhufeng이 모든 사람을 위해 코드를 게시합니다.
function msubstr($str, $start=0, $length, $charset="utf-8", $suffix=true) { if(function_exists("mb_substr")){ if($suffix) return mb_substr($str, $start, $length, $charset)."..."; else return mb_substr($str, $start, $length, $charset); } elseif(function_exists('iconv_substr')) { if($suffix) return iconv_substr($str,$start,$length,$charset)."..."; else return iconv_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; }
위 내용은 THINKPHP 차단 중국어 문자열 함수 예제 코드에 대한 자세한 설명의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!