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번째 문자까지 잘라내며, 별도의 인코딩을 지정하지 않았기 때문에 내부 인코딩 값을 사용합니다.