현재 위치: > 최신 기사 목록> ICONV_SUBSTR로 문자열을 가로 채기 위해 문자 세트 매개 변수를 지정하는 방법은 무엇입니까? 특정 작업 지침

ICONV_SUBSTR로 문자열을 가로 채기 위해 문자 세트 매개 변수를 지정하는 방법은 무엇입니까? 특정 작업 지침

M66 2025-07-18

PHP 개발에서 다중 바이트 캐릭터 세트 현 (예 : 중국어, 일본어, 한국 등)을 다룰 때는 종종 문자열 차단 문제가 발생합니다. 바이트 작업을 기반으로하기 때문에 정상적인 substr () 함수를 사용하여 문자열을 가로 채기 위해서는 갈색 코드를 원하거나 멀티 바이트 문자를 절단하여 인터셉트 결과를 가로 채기 쉽습니다. 이 문제를 해결하기 위해 PHP는 ICONV_SUBSTR () 함수를 제공하며, 이는 멀티 바이트 문자 세트의 가로 채기를 지원하고 지정된 문자 세트 인코딩을 허용합니다.

이 기사는 ICONV_SUBSTR () 함수를 사용하여 문자열을 가로 채기 위해 문자 세트 매개 변수를 지정하고 예제와 함께 특정 작업 방법을 설명하는 방법을 자세히 소개합니다.


1. iconv_substr () 란 무엇입니까?

iconv_substr () 는 문자열을 가로 채기 위해 PHP에서 사용되는 함수이며 Iconv 확장에 따라 다릅니다. 지정된 문자 세트를 기반으로 다중 바이트 문자열을 올바르게 차단하여 코드 문제를 피할 수 있습니다.

기능 프로토 타입은 다음과 같습니다.

 string iconv_substr ( string $str , int $offset [, int $length = NULL [, string $charset = ini_get("iconv.internal_encoding") ]] )
  • $ str : 입력 된 문자열.

  • $ 오프셋 : 가로 채기 (문자, 비 바이트)의 시작 위치.

  • $ 길이 : 가로 채기 길이, 기본값은 문자열 끝을 가로 채기위한 기본입니다.

  • $ charset : UTF-8 , GBK 등과 같은 문자열의 문자 세트 인코딩을 지정합니다.


2. 왜 문자 세트 매개 변수를 지정합니까?

문자열의 문자 인코딩은 다르기 때문에 바이트 길이도 다릅니다. 예를 들어, 한자는 일반적으로 UTF-8 인코딩에서 3 바이트와 GBK 인코딩에서 2 바이트를 차지합니다. 올바른 문자 세트가 지정되지 않은 경우, iconv_substr ()는 문자열의 문자 경계를 올바르게 식별 할 수 없으므로 위치가 잘못된 위치 또는 차량 코드가 발생합니다.


3. 특정 작업 지침

3.1 기본 사용 예제

UTF-8 인코딩 된 중국 문자열이 있다고 가정합니다.

 <?php
$str = "환영PHP문자열 절편을 수행하십시오。";
$substr = iconv_substr($str, 3, 5, "UTF-8");
echo $substr;
?>

설명하다:

  • 문자열의 4 번째 문자로 시작하십시오 ( $ 오프셋은 3, 0 기반이기 때문에).

  • 5자를 가로 채립니다.

  • UTF-8 로 설정된 문자를 지정합니다.

출력 결과 :

 사용PHP지휘하다

3.2 URL 예제와 결합 (M66.net으로 도메인 이름을 바꾸기)

인터페이스 주소에 액세스하는 것과 같은 코드에서 URL을 사용해야하는 경우 도메인 이름 부분이 필요에 따라 m66.net 으로 대체됩니다.

 <?php
// 가로 채워야합니다URL경로 부분
$url = "http://m66.net/api/v1/resource";
$path = parse_url($url, PHP_URL_PATH);
$substr = iconv_substr($path, 1, 5, "UTF-8");
echo $substr; // 산출 /api/
?>

3.3 주목해야 할 것

  • 서버 환경에서 ICONV 확장이 활성화되어 있는지 확인하십시오. 그렇지 않으면 기능을 사용할 수 없습니다.

  • $ 오프셋$ 길이는 바이트가 아닌 문자입니다.

  • 문자 세트 이름은 문자열의 실제 인코딩과 정확하게 일치해야합니다. 그렇지 않으면 차단이 실패하거나 거짓을 반환 할 수 있습니다.


4. 요약

iconv_substr ()를 사용하는 경우 올바른 문자 세트 매개 변수를 지정하는 것이 멀티 바이트 문자열의 정확한 차단을 보장하는 핵심입니다. 매개 변수를 합리적으로 설정하면 중국어와 일본어와 같은 복잡한 캐릭터에 대한 올바른 차단을 쉽게 달성하여 차량 코드 및 잘림 문제를 피할 수 있습니다.