PHP 문자열 가로채기 사용자 정의 함수

高洛峰
풀어 주다: 2016-10-21 10:08:16
원래의
1050명이 탐색했습니다.

PHP 문자열 가로채기 커스텀 함수는 우리가 개발 과정에서 자주 사용하는 함수입니다. 일반적으로 PHP에 내장된 함수를 사용할 수 있지만, 특별히 사용하기가 쉽지 않고, 특히 중국어에 대한 지원이 그다지 친절하지 않습니다. 우리는 단지 하나를 직접 사용자 정의합니다.

//$Str为截取字符串,$Length为需要截取的长度
function cut($Str, $Length,$more=true) {
    global $s;
    $i = 0;
    $l = 0;
    $ll = strlen($Str);
    $s = $Str;
    $f = true;
    while ($i <= $ll) {
        if (ord($Str{$i}) < 0x80) {
            $l++; $i++;
        } else if (ord($Str{$i}) < 0xe0) {
            $l++; $i += 2;
        } else if (ord($Str{$i}) < 0xf0) {
            $l += 2; $i += 3;
        } else if (ord($Str{$i}) < 0xf8) {
            $l += 1; $i += 4;
        } else if (ord($Str{$i}) < 0xfc) {
            $l += 1; $i += 5;
        } else if (ord($Str{$i}) < 0xfe) {
            $l += 1; $i += 6;
        }
        if (($l >= $Length - 1) && $f) {
            $s = substr($Str, 0, $i);
            $f = false;
        }
        if (($l > $Length) && ($i < $ll) && $more) {
            $s = $s . &#39;...&#39;; break; //如果进行了截取,字符串末尾加省略符号“...”
        }
    }
    return $s;
}
로그인 후 복사

호출 방법은 매우 간단합니다. 일반 PHP 파일에서 직접 메서드 이름을 호출하면 됩니다.

cut();
로그인 후 복사

그러나 매개변수는 일반적으로 첫 번째와 첫 번째로 전달되어야 합니다. 두 번째 2개는 필수이고 세 번째는 선택 사항입니다.

예를 들어 문자열의 처음 10자를 가로채려면 다음과 같이 호출합니다.

cut($str,10);
로그인 후 복사

여기서 $str은 가로채는 문자열, 10은 길이입니다.

기본적으로 차단 전 길이가 차단 후 길이를 초과하면 초과 함수는 기본적으로 '...'를 사용하여 다음 문자열을 대체합니다.

초과 부분을 숨겨서 '...'으로 바꾸는 것을 원하지 않으면

cut($str,10,false);
로그인 후 복사


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