이 글에서는 thinkPHP 내장 문자열 가로채기 기능의 사용법을 주로 소개하며, thinkPHP 내장 문자열 가로채기 기능의 기능과 구체적인 사용법을 예제 형식으로 분석하고, 생략 부호를 추가할 수 없는 경우의 소스 코드 수정 기술도 설명합니다. . 도움이 필요한 친구들이 참고할 수 있습니다
본 글의 예시는 thinkPHP에 내장된 문자열 가로채기 기능의 사용법을 설명한 것입니다. 참고할 수 있도록 모든 사람과 공유하세요. 세부 사항은 다음과 같습니다.
thinkphp에는 smarty와 비슷한 템플릿 엔진이 내장되어 있어 매우 편리합니다. 함수 호출도 마찬가지입니다. 스마트하게 필요한 함수를 호출할 수 있으며, 공식에서는 누구나 호출할 수 있도록 일반적으로 사용되는 몇 가지 함수를 내장했습니다.
예를 들어, 오늘 우리가 이야기하는 문자열 차단 기능은 thinkphp 템플릿 엔진에서 다음과 같이 작성할 수 있습니다: {$vo.title|msubstr=0,5,'utf-8′,false} .title} 여러분, 전혀 낯설지 않습니다. 다음 함수 msubstr에 대해 이야기해 보겠습니다. 이것이 의미하는 바는 $vo.title 문자열을 가로채서 0자부터 시작하여 5자를 가로채는 것입니다. UTF-8 인코딩이 사용되며 기본적으로 차단 후 줄임표가 표시되지 않습니다. 줄임표를 표시하려면 false를 true로 변경하면 됩니다.
함수 설명:
msubstr($str, $start=0, $length, $charset="utf-8", $suffix=true)
매개변수 함수:
$str: 차단할 문자열
$start=0: 시작 위치, 기본적으로 0부터 시작
$length: 차단 길이
$charset="utf-8": 문자 인코딩, 기본값 UTF-8
$suffix=true: 가로채는 문자 뒤에 타원을 표시할지 여부, 표시하려면 기본값이 true이고 표시하지 않으려면 false
ps: 정상적으로 호출된다면 함수 라이브러리를 로드하지 않았다는 의미입니다. Load('extend');를 사용하여 함수를 로드하고 액션에 넣으면 됩니다~!
시도함: 공식 msubstr 함수는 어차피 타원을 추가할 수 없는 것 같습니다. 공식 홈페이지 포럼에서 수정 방법을 찾았는데, 테스트 후 정상적으로 사용 가능합니다~! Commonextend.php 파일의 msubstr 함수를 다음 코드로 수정하세요.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; }위 내용은 모두의 학습에 도움이 되기를 바랍니다. , PHP 중국어 웹사이트를 주목해주세요! 관련 권장 사항:
ThinkPHP에 내장된 ThinkAjax를 사용하여 비동기 전송 기술 구현
위 내용은 thinkPHP에 내장된 문자열 가로채기 기능에 대하여의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!