> 백엔드 개발 > PHP 튜토리얼 > Thinkphp 내장 가로채기 문자열 함수

Thinkphp 내장 가로채기 문자열 함수

巴扎黑
풀어 주다: 2016-11-24 14:30:20
원래의
1177명이 탐색했습니다.

Thinkphp에는 smarty에 필적하는 템플릿 엔진이 내장되어 있어 매우 편리합니다. 함수 호출도 마찬가지입니다. 스마트하게 필요한 함수를 호출할 수 있으며, 공식에서는 누구나 호출할 수 있도록 일반적으로 사용되는 몇 가지 함수를 내장했습니다.

예를 들어, 오늘 우리가 이야기하고 있는 가로채기 문자열 함수는 thinkphp 템플릿 엔진에서 다음과 같이 작성할 수 있습니다: {$vo.title|msubstr=0,5,'utf-8′,false} As for {$vo.title}모두가 이 사실을 잘 알고 있을 것입니다. 다음 함수 msubstr에 대해 이야기해 보겠습니다. 이것이 의미하는 바는 $vo.title 문자열을 가로채서 0자부터 시작하여 5자를 가로채는 것입니다. UTF-8 인코딩이 사용되며 기본적으로 차단 후 줄임표가 표시되지 않습니다. 줄임표를 표시하려면 false를 true로 변경하면 됩니다.

함수 설명:

msubstr($str, $start=0, $length, $charset=”utf-8″, $suffix=true)
$str: 가로채기 String
$start=0: 시작 위치, 기본값은 0부터 시작
$length: 가로채기 길이
$charset=”utf-8″: 문자 인코딩, 기본값 UTF-8
$suffix =true : 가로채는 문자 뒤에 타원을 표시할지 여부. 기본값은 표시하려면 true, 표시하지 않으려면 false

참고: 정상적으로 호출할 수 없는 경우 함수 라이브러리를 로드하지 않은 것입니다. . Load('extend');를 사용하여 함수를 로드할 수 있습니다. 액션에 넣으면 됩니다~!
참고: 함수 라이브러리를 확장하는 방법은 직접 사용할 수 없습니다. 사용하려면 먼저 프로젝트 함수 라이브러리에 로드하거나 복사해야 합니다.
확장 함수 라이브러리를 로드하려면 다음을 사용하세요.
Load('extend');
확장 함수 라이브러리를 로드한 후 그 안에 있는 모든 함수를 호출할 수 있습니다.
function index(){
Load('extend'); //여기 여기!
if($_POST['password']!=$_POST['repassword']){
$this->error('두 개의 비밀번호가 일치하지 않습니다.');
$user=D(' user');
if($vo=$user->create()){
...
}
시험 후: 공식 msubstr 함수는 어쨌든 추가된 것 같습니다. 줄임표 없이 , 공식 홈페이지 포럼에서 수정 방법을 찾았고, 테스트 후 정상적으로 사용 가능해요~! Commonextend.php 파일의 msubstr 함수를 다음 코드로 수정합니다:

Php 코드

/**

+-------------------------------------------- ----- ---------------

* 문자열 가로채기, 중국어 및 기타 인코딩 지원

+--------- ---- --------------------------------- -

* @static

* @access public

+------------------------- ----- ------------------

* @param string $str 문자열 변환

* @param string $start 시작 위치

* @param string $length 가로채기 길이

* @param string $charset 인코딩 형식

* @param string $ 접미사는 표시 문자를 자릅니다.

+-------------------------------- ------ -----

* @return 문자열

+--------- ---- --------------------------------- -

*/

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."…";  

    $slice를 반환합니다.  

}


관련 라벨:
원천:php.cn
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿