주로 컨텐츠 관련된 작업을 하다보면 글이 길경우 잘라야 하는 경우가 있다. 보통 문장의 뒷부분을 자르고 접두사(...)를 붙이는 경우가 많다. 다만 요즘은 반응형으로 사이트를 많이 제작하다보니 PC기준으로 최대한 글자수를 자르고 CSS로 말줄임 처리를 하는 경우가 많다. 

 

이번편에서는 간단하게나마 PHP를 이용하여 문장의 뒷부분 또는 앞부분 자르는 함수에 대해 간단하게 알아보자 

 

지정된 글자 수 부터 자르고 마지막에 접두사 붙이기 - mb_substr_after
<?php 
// 지정된 글자 수 부터 자르고 마지막에 접두사 붙이기
function mb_substr_after($string = '',$len = 1,$prefix = "...",$charset = 'UTF-8'){
	$string = strip_tags($string);
	$substr = mb_substr($string, 0,$len,$charset);
	if(  mb_strlen($string) > $len){
		$substr = preg_replace("/[\s]$/","",$substr); // 자른 문자의 마지막 공백제거
		$substr .= $prefix;
	}		
	return $substr;		
}
echo mb_substr_after('이상한 나라의엘리스가있습니다',4);

| 결과 

이상한...

 

지정된 글자 수 까지 자르고 처음에 접두사 붙이기 - mb_substr_before
<?php 
// 지정된 글자 수 까지 자르고 처음에 접두사 붙이기 
function mb_substr_before($string = '', $len = 1,$prefix = "...",$charset = 'UTF-8'){
	$string = strip_tags($string);
	$substr = '';
	if( mb_strlen($string) > $len){
		$substr = mb_substr($string, $len ,mb_strlen($string),$charset);
	}
	$substr = preg_replace("/^[\s]/","",$substr); // 자른 문자의 첫 공백제거
	$substr = $prefix.$substr;
	return $substr;		
}
echo mb_substr_before('이상한 나라의엘리스가있습니다',4);

| 결과 

...나라의엘리스가있습니다

 

위와 같이 문장의 앞 또는 뒤 부분을 자르고 접두사를 붙이는 함수에 대해 알아보았다. 함수의 경우 별도로 만들었으며 함수내 소스코드를 보면 문장의 앞 또는 뒤의 공백을 제거하는 구간이 있는데 상황에 따라 필요없는 경우 주석처리를 하고 사용하면 되니 참고하길 바란다. 

 

추가로 본 포스팅과는 연결이 되지는 않겠지만 다음편에서는 시간이 된다면 CSS 와 자바스크립트를 이용하여 문장이 길 경우 CSS로 말줄임 처리를 한 후 더보기 기능을 통해 문장 전체를 볼 수 있는 기능에 대해 알아보도록 하자.