Computer >> 컴퓨터 >  >> 프로그래밍 >> PHP

PHP mb_strimwidth() 함수 완벽 가이드 – 멀티바이트 문자열 폭 제한하기

PHP의 mb_strimwidth() 함수는 주어진 문자열을 지정한 폭(width)에 맞게 잘라내는(트렁케이션) 기능을 수행합니다. 특히 한글이나 일본어 같은 멀티바이트 문자를 다룰 때 인코딩 문제 없이 안전하게 문자열 길이를 조절할 수 있어 실무에서 매우 유용하게 활용됩니다.

문법(Syntax)

string mb_strimwidth($str_string, $int_start, $int_width, $str_trim_marker, $str_encoding)

사용 예시는 다음과 같습니다.

mb_strimwidth($str_string: "PHP Tutorials", $int_start: 2, $int_width: 10, $str_trim_marker: "...");

매개변수(Parameters)

mb_strimwidth() 함수는 문자열 폭을 자르기 위해 총 5개의 매개변수를 받습니다.

  • $str_string − 잘라낼 대상이 되는 원본 문자열입니다.

  • $int_start − 문자열을 자르기 시작할 위치를 나타내는 정수값입니다. 이 값부터 문자열 앞부분이 잘려나갑니다.

  • $int_width − 원하는 잘라낼 폭입니다. 음수 값을 지정하면 문자열 끝에서부터 역산하여 계산됩니다.

  • $str_trim_marker − 문자열이 잘렸을 때 끝에 덧붙일 문자열입니다. 보통 생략 표시로 "..."를 많이 사용합니다.

  • $str_encoding − 문자 인코딩을 지정하는 매개변수입니다. 생략하거나 NULL을 전달하면 내부 인코딩(internal encoding) 값이 사용됩니다.

반환 값(Return Values)

mb_strimwidth() 함수는 잘려진(truncated) 문자열을 반환합니다. 만약 trim_marker가 설정되어 있다면, 지정한 폭에 맞도록 문자열 마지막 부분이 마커로 대체됩니다.

예제 코드

<?php

   // UTF-8 인코딩 설정
   mb_internal_encoding("UTF-8");

   // 주어진 문자열의 폭을 잘라냄
   $str_string = mb_strimwidth("Simply Easy Learning!", 2, 15, "...");

   // 결과 출력
   echo "$str_string";

?>

실행 결과

위 코드를 실행하면 다음과 같은 출력 결과를 얻을 수 있습니다.

mply Easy Le...

참고 − 위 PHP 코드는 문자열의 2번째 문자부터 12번째 문자까지 잘라내며, 별도의 인코딩을 지정하지 않았기 때문에 내부 인코딩 값을 사용합니다.