>  기사  >  백엔드 개발  >  PHP의 substr() 함수에 대한 자세한 설명 및 사용법

PHP의 substr() 함수에 대한 자세한 설명 및 사용법

伊谢尔伦
伊谢尔伦원래의
2017-06-24 10:23:311930검색

구문:

string substr(string $string ,int $start [, int $length ]), 더 긴 string에서 일치하는 문자열이나 문자를 찾는 데 사용할 수 있습니다. $string은 다음과 같습니다. $start는 선택을 시작할 위치이고 $length는 선택할 길이입니다.

$length가 양수 데이터인 경우 문자는 왼쪽에서 오른쪽으로 읽습니다.

$length가 음수인 경우 문자는 읽혀집니다. 문자.

string 필수, 문자열의 일부가 반환되도록 규정

start 필수, 문자열에서 시작할 위치를 규정

charlist 선택 사항, 문자열의 길이를 규정. 반환, 기본값은 문자열 끝의 길이까지입니다.

양수 - 문자열의 지정된 위치에서 시작

음수 - 문자열의 끝에서 지정된 위치에서 시작

0 - 처음부터 시작 문자열

PHP 예제 코드는 다음과 같습니다.

$rest_1 = substr("abcdef", 2); // returns "cdef" 
$rest_2 = substr("abcdef", -2); // returns "ef" 
 
$rest1 = substr("abcdef", 0, 0); // returns "" 
$rest2 = substr("abcdef", 0, 2); // returns "ab" 
$rest3 = substr("abcdef", 0, -1); // returns "abcde" 
$rest4 = substr("abcdef", 2,0); // returns "" 
$rest5 = substr("abcdef", 2,2); // returns "cd" 
$rest6 = substr("abcdef", 2, -1); // returns "cde" 
$rest7 = substr("abcdef", -2,0); // returns "" 
$rest8 = substr("abcdef", -2,2); // returns "ef" 
$rest9 = substr("abcdef", -2,-1); // returns "e"

PHP substr()function은 텍스트를 분할할 수 있지만 분할할 텍스트에 한자가 포함된 경우 문제가 자주 발생합니다. mb_substr()/mb_strcut 함수를 사용할 수 있습니다. mb_substr()/mb_strcut의 사용법은 substr()과 유사합니다. 단, mb_substr()/mb_strcut 끝에 매개변수를 하나 더 추가해야 합니다. 그러나 대부분의 서버는 php_mbstring.dll을 열지 않습니다. php.ini에서 php_mbstring.dll을 열어야 합니다.

<?php
echo mb_substr(&#39;我们都是好孩子hehe&#39;,0,9);
?>

출력: 우리는 모두입니다

이제 문자 세트utf-8

<?php
echo mb_substr(&#39;我们都是好孩子hehe&#39;,0,9,&#39;utf-8&#39;);
?>

를 추가합니다. 출력: 우리는 모두 착한 아이들입니다. he

첫 번째는 3바이트를 하나의 중국어로 사용하는 것입니다. 이것은 utf-입니다. 8 인코딩의 특징과 아래 utf-8 문자 집합에 대한 설명이 더해져 한 단어 단위로 가로채어집니다

다음은 UTF-8 인코딩에서 문자열을 가로채는 ecshop의 함수입니다

function sub_str($str, $length = 0, $append = true)
{
    $str = trim($str);
    $strlength = strlen($str);
    if ($length == 0 || $length >= $strlength)
    {
        return $str;  //截取长度等于0或大于等于本字符串的长度,返回字符串本身
    }
    elseif ($length < 0)  //如果截取长度为负数
    {
        $length = $strlength + $length;//那么截取长度就等于字符串长度减去截取长度
        if ($length < 0)
        {
            $length = $strlength;//如果截取长度的绝对值大于字符串本身长度,则截取长度取字符串本身的长度
        }
    }
    if (function_exists(&#39;mb_substr&#39;))
    {
        $newstr = mb_substr($str, 0, $length, EC_CHARSET);
    }
    elseif (function_exists(&#39;iconv_substr&#39;))
    {
        $newstr = iconv_substr($str, 0, $length, EC_CHARSET);
    }
    else
    {
        //$newstr = trim_right(substr($str, 0, $length));
        $newstr = substr($str, 0, $length);
    }
    if ($append && $str != $newstr)
    {
        $newstr .= &#39;...&#39;;
    }
    return $newstr;
}

위 내용은 PHP의 substr() 함수에 대한 자세한 설명 및 사용법의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

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