>백엔드 개발 >PHP 튜토리얼 >THINKPHP 차단 중국어 문자열 함수 예제 코드에 대한 자세한 설명

THINKPHP 차단 중국어 문자열 함수 예제 코드에 대한 자세한 설명

黄舟
黄舟원래의
2017-03-21 09:03:141374검색

프로젝트 개발 과정에서 영어, 중국어 등에서 문자열 가로채기 문제를 자주 접하게 됩니다. 예를 들어 뉴스 목록 페이지에 뉴스 내용에 대한 간략한 소개가 필요한 경우 문자열 가로채기가 필요합니다.

프로젝트 개발 중에 영어, 중국어, 기타 언어에서 문자열 가로채기 문제가 자주 발생합니다. 예를 들어 뉴스 목록 페이지에 뉴스 내용에 대한 간략한 소개가 필요한 경우 문자열 가로채기가 필요합니다.

이제 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 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.