그누보드
그누보드 사용자들을 위한 정보 공유 공간! 설치, 테마, 플러그인, 커스터마이징 팁 등 그누보드에 대한 모든 것을 이야기해보세요!
2025.02.22 01:21
함수 설명
`cut_str` 함수는 문자열 `$str`을 `$len` 길이까지 자른 후, `$suffix`를 붙여 반환하는 함수입니다. `$suffix`는 기본적으로 `…`로 설정되어 있습니다.
함수 소스코드
함수 작동 방식
1. `preg_split` 함수를 사용하여 문자열 `$str`을 유니코드로 분리합니다. `$str`을 `//u`로 분리하면 각 문자가 하나의 요소로 분리됩니다.
2. 문자열의 길이를 `$str_len` 변수에 저장합니다.
3. 문자열의 길이가 `$len`보다 크거나 같으면, `array_slice` 함수를 사용하여 문자열을 `$len` 길이까지 자릅니다.
4. 자른 문자열을 합치기 위해 `join` 함수를 사용합니다.
5. 문자열의 길이가 `$len`보다 크면 `$suffix`를 붙입니다.
6. 문자열의 길이가 `$len`보다 작으면 원래 문자열을 반환합니다.
예제
참고
* `preg_split` 함수는 문자열을 분리할 때 사용할 수 있는 정규표현식을 사용합니다.
* `array_slice` 함수는 배열에서 특정 범위의 요소를 추출합니다.
* `join` 함수는 배열의 요소를 합치기 위해 사용합니다.
* `$suffix` 변수는 문자열의 길이가 `$len`보다 크면 붙일 문자열을 지정합니다.
[PHP] join - implode의 별칭
[PHP] echo - 하나 이상의 문자열을 출력합니다.
[PHP] count - 배열 또는 Countable 객체의 모든 요소를 계산합니다.
[PHP] array_slice - 배열의 슬라이스 추출
그누보드:cut_str() 문자열 자르기
- 나우호스팅 21일 전 2025.02.22 01:21
-
55
0
/*
* 그누보드 원본 코드 분석 (LGPL 라이선스 적용)
* 출처: https://github.com/gnuboard/gnuboard5
* 라이선스: GNU General Public License v2.0 또는 그 이후 버전
*/
function cut_str($str, $len, $suffix="…")
{
$arr_str = preg_split("//u", $str, -1, PREG_SPLIT_NO_EMPTY);
$str_len = count($arr_str);
if ($str_len >= $len) {
$slice_str = array_slice($arr_str, 0, $len);
$str = join("", $slice_str);
return $str . ($str_len > $len ? $suffix : '');
} else {
$str = join("", $arr_str);
return $str;
}
}
함수 설명
`cut_str` 함수는 문자열 `$str`을 `$len` 길이까지 자른 후, `$suffix`를 붙여 반환하는 함수입니다. `$suffix`는 기본적으로 `…`로 설정되어 있습니다.
함수 소스코드
#hostingforum.kr
php
function cut_str($str, $len, $suffix = "…") {
// 문자열을 유니코드로 분리
$arr_str = preg_split("//u", $str, -1, PREG_SPLIT_NO_EMPTY);
// 문자열의 길이를 구함
$str_len = count($arr_str);
// 문자열의 길이가 $len보다 크거나 같으면
if ($str_len >= $len) {
// 문자열을 $len 길이까지 자름
$slice_str = array_slice($arr_str, 0, $len);
// 자른 문자열을 합침
$str = join("", $slice_str);
// 문자열의 길이가 $len보다 크면 $suffix를 붙임
return $str . ($str_len > $len ? $suffix : '');
} else {
// 문자열의 길이가 $len보다 작으면 원래 문자열을 반환
return $str;
}
}
함수 작동 방식
1. `preg_split` 함수를 사용하여 문자열 `$str`을 유니코드로 분리합니다. `$str`을 `//u`로 분리하면 각 문자가 하나의 요소로 분리됩니다.
2. 문자열의 길이를 `$str_len` 변수에 저장합니다.
3. 문자열의 길이가 `$len`보다 크거나 같으면, `array_slice` 함수를 사용하여 문자열을 `$len` 길이까지 자릅니다.
4. 자른 문자열을 합치기 위해 `join` 함수를 사용합니다.
5. 문자열의 길이가 `$len`보다 크면 `$suffix`를 붙입니다.
6. 문자열의 길이가 `$len`보다 작으면 원래 문자열을 반환합니다.
예제
#hostingforum.kr
php
$str = "Hello, World!";
$len = 5;
echo cut_str($str, $len); // Output: "Hello..."
echo cut_str($str, $len, " ..."); // Output: "Hello ..."
echo cut_str($str, $len - 1); // Output: "Hello"
참고
* `preg_split` 함수는 문자열을 분리할 때 사용할 수 있는 정규표현식을 사용합니다.
* `array_slice` 함수는 배열에서 특정 범위의 요소를 추출합니다.
* `join` 함수는 배열의 요소를 합치기 위해 사용합니다.
* `$suffix` 변수는 문자열의 길이가 `$len`보다 크면 붙일 문자열을 지정합니다.
이 게시물에 포함된 라이브러리
[PHP] preg_split - 정규 표현식으로 문자열 분할[PHP] join - implode의 별칭
[PHP] echo - 하나 이상의 문자열을 출력합니다.
[PHP] count - 배열 또는 Countable 객체의 모든 요소를 계산합니다.
[PHP] array_slice - 배열의 슬라이스 추출
댓글목록
등록된 댓글이 없습니다.