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

PHP에서 substr() 함수로 문자열을 생략 부호(...)로 줄이는 방법

긴 문자열을 화면에 표시할 때 전체 내용 대신 일부만 보여주고 나머지를 생략 부호(...)로 처리하고 싶은 경우가 자주 있습니다. 예를 들어 게시글 목록이나 검색 결과에서 유용하게 사용할 수 있습니다.

예제 문자열

다음과 같은 문자열이 있다고 가정해 보겠습니다.

$sentence="This is my first PHP program";

우리가 원하는 출력 결과는 다음과 같습니다.

This is my first PHP ... gram

구현 원리

문자열을 "..."로 줄이려면 PHP의 substr() 함수를 활용합니다. 먼저 strlen() 함수로 문자열의 전체 길이를 확인한 후, 길이가 기준값 이상일 때만 앞부분과 뒷부분을 잘라내어 그 사이에 생략 부호를 삽입합니다. 문자열이 짧다면 원본 그대로 출력하면 됩니다.

예제 코드

<!DOCTYPE html>
<html>
<body>
<?php
$sentence="This is my first PHP program";
if (strlen($sentence) >= 13) {
    echo substr($sentence, 0, 20). " ... " . substr($sentence, -4);
} else {
    echo $sentence;
}
?>
</body>
</html>

코드 설명

  • strlen($sentence): 문자열의 전체 길이를 반환합니다. 이 값이 13 이상인지 확인하여 축약 여부를 결정합니다.
  • substr($sentence, 0, 20): 문자열의 시작 위치(0)부터 20자까지, 즉 앞부분을 추출합니다.
  • substr($sentence, -4): 음수 오프셋을 사용하여 문자열의 끝에서 4번째 문자부터 마지막까지, 즉 뒷부분을 추출합니다.

출력 결과

This is my first PHP ... gram

이처럼 substr() 함수와 간단한 조건문만으로도 긴 문자열을 깔끔하게 축약할 수 있습니다. 필요에 따라 잘라낼 길이나 조건 값을 조정하여 다양한 상황에 맞게 응용할 수 있습니다.