태그를 제외하고 문자열 자르기 함수 - 1
작성자 : 김영철
등록날짜 : 2009.01.13 13:00
문자열 길이 구할때 태그는 제외시키는 기능이 있습니다.
/**************************************************************
* $String : 원본 문자열 *
* $MaxLen : 자를 문자열 길이 *
* $ShortenStr : 말줄임 문자열 *
***************************************************************/
function Shorten_String($String, $MaxLen, $ShortenStr) {
$StringLen = strlen($String); // 원래 문자열의 길이를 구함
for ($i = 0, $count = 0, $tag = 0; $i <= $StringLen && $count < $MaxLen; $i++ ) {
$LastStr = substr($String, $i, 1);
if ($LastStr == '<') $tag = 1; // 태그 시작
if ($tag && $LastStr == '>') { $tag = 0; continue; } // 태그 끝
if ($tag) continue;
if ( ord($LastStr) > 127 ) { $count++; $i++; }
$count++;
// 2바이트문자라고 생각되면 $i를 1을 더 증가시켜
// 결국은 2가 증가하게 된다.
// 다음에 오는 1바이트는 당연 지금 바이트의 문자에 귀속되는 문자이다.
}
$RetStr = substr($String, 0, $i);
// 위에서 구한 문자열의 길이만큼으로 자른다.
if ($count<$MaxLen)
return $RetStr;
else
return $RetStr .= $ShortenStr;
// 여기에 말줄임문자를 붙여서 리턴해준다.
}
/**************************************************************
* $String : 원본 문자열 *
* $MaxLen : 자를 문자열 길이 *
* $ShortenStr : 말줄임 문자열 *
***************************************************************/
function Shorten_String($String, $MaxLen, $ShortenStr) {
$StringLen = strlen($String); // 원래 문자열의 길이를 구함
for ($i = 0, $count = 0, $tag = 0; $i <= $StringLen && $count < $MaxLen; $i++ ) {
$LastStr = substr($String, $i, 1);
if ($LastStr == '<') $tag = 1; // 태그 시작
if ($tag && $LastStr == '>') { $tag = 0; continue; } // 태그 끝
if ($tag) continue;
if ( ord($LastStr) > 127 ) { $count++; $i++; }
$count++;
// 2바이트문자라고 생각되면 $i를 1을 더 증가시켜
// 결국은 2가 증가하게 된다.
// 다음에 오는 1바이트는 당연 지금 바이트의 문자에 귀속되는 문자이다.
}
$RetStr = substr($String, 0, $i);
// 위에서 구한 문자열의 길이만큼으로 자른다.
if ($count<$MaxLen)
return $RetStr;
else
return $RetStr .= $ShortenStr;
// 여기에 말줄임문자를 붙여서 리턴해준다.
}
[출처] 웹디황용
"쇼핑몰·홈페이지·오픈마켓
블로그·페이스북·이메일 등의 각종 마케팅 글쓰기, 각종 광고, 영업, 판매, 제안서, 전단지 반응율 3배×10배 이상 높이는 마법의 8단계 공식" |
![]() |
☞자세히보기 |
|
|