문자열에서 일정 길이의 크기만큼만 필요한 경우 어떻게 해야할까요? 이는 전체 문자열을 사용할 필요가 없는 경우, 즉 문자열의 일부만 보여한다면 substr() 함수를 사용할 수 있습니다. 이 함수는 선택한 문자열에서 크기를 정하면 해당부분의 크기만큼만 반환해주는 함수입니다. 이 함수의 간단한 사용 방법은 아래와 같습니다.

substr(문자열, 시작위치, 길이)

그렇다면 이 함수가 필요한 경우가 언제있을까요? 아래에는 이 함수가 필요한 경우를 알아보고 substr()을 사용하는 간단한 예제와 설명입니다. 우선 함수가 사용되는 경우에 대하여 알아보세요.


! substr() 함수가 필요한 경우

문자열의 일부만 필요한 경우는 언제있을까요? 웹사이트를 만드는 경우 아래와 같은 코드의 작성시 이를 사용할 수 있습니다.

  • a. 제목 또는 작성한 글의 요약만 보여주는 경우
  • b. 날짜 데이터값 중에서 시간은 필요없는 경우 (Ex) 2014. 1. 12 12:00:00 -> 2014. 1. 12)
  • c. 기타 데이터베이스에서 필요없는 부분을 자르는 경우
  • d. 이미지 및 기타 파일 url 중에서 일부만 필요한 경우

위의 예들이 가장 많이 사용되는 경우입니다. 물론 그 외의 다양한 경우에 이 함수를 사용할 수 있을 것입니다. 그럼 아래의 예제를 참고하시기 바랍니다. 아래는 substr()을 사용하여 날짜의 일부만 가져오는 간단한 예제코드입니다.



!! substr() 함수 예제보기

만약에 서버에 저장된 테이블에서 date 값을 불러와 시간을 제외하여 순수 날짜만 표기하려합니다. 이 경우 어떻게 코드를 작성할까요? 일단 이 경우에도 substr() 함수를 사용해 얻는 날짜 값을 블로그 글의 날짜값으로 출력합니다. 먼저 서버에 저장된 값을 변수 $date에 저장하여 변환한다고 생각해봅시다.


===========================
  no |  who          |            date
-----------------------------------------
   1  |  webisfree |   2016-05-27 10:00:00
-----------------------------------------

이제 위의 데이터를 사용하여 간단한 예제코드를 만들어봅니다.
<?php
   $date = $row['date'];  // 데이터베이스 값을 변수에 저장
   $dateVal = substr($date, 0, 10); // 날짜만 잘라서 변수에 저장
?>

불러올 데이터를 출력하기 위해 아래처럼 html을 작성합니다.
<p>PHP의 문자열 자르기 예제보기</p>
<span><?php echo $dateVal; ?></span>

위 코드를 실행하게되면 아래와 같은 결과를 가져오게됩니다. 보시는 것처럼 날짜에 시간이 제외되고 필요한 부분만 출력됨을 확인할 수 있습니다. 이처럼 날짜만 가져오는 것이 아니라 반대로 시간만 가져오는 것 역시 할 수 있을 것입니다.
PHP의 문자열 자르기 예제보기

2014-01-01

매우 간단한 예제를 사용하여 알아보았습니다. 참고로 문자열의 시작점과 길이에 음수를 사용한 방법 역시 가능합니다. 이 방법을 사용하면 반대의 경우를 값으로하여 반환하게 됩니다. 이에 대한 예제는 다음과 같습니다.


# 음수를 사용한 substr() 예제보기

아래는 substr() 함수에 음수를 적용한 방법입니다. 음수를 사용시 뒤에서 부터 제어합니다.
$test = 'webisfree.com';
echo substr($test, 0, -4);

webisfree
// 출력 결과임

위에서 보시는 것처럼 음수를 사용하는 경우 반대의 값을 반환합니다. 아래에 몇가지 예제를 더 보겠습니다.
$test = 'webisfree.com';
echo substr($test, -8, -2);

free.c // 출력 결과


$test = 'webisfree.com';
echo substr($test, -5, -2);

e.c // 출력 결과


# 마치면서여기까지 php에서 문자열의 일부만 보여주거나 자르는 방법을 알아봤습니다. substr()을 사용하면 문자열을 처리하는데 매우 용이하여 매우 자주사용되는 기본 함수이므로 반드시 알아두어야합니다.