테스트 사이트 - 개발 중인 베타 버전입니다

문자열 자르기 함수에 대해 궁금하네요. 채택완료

두꺼비밥 9년 전 조회 2,984

영카트 common.lib.php 파일에 두가지 문자열 자르는 함수가 있던데요.

 

cut_str

utf8_strcut

 

어떤 차이점이 있나요?

 

모바일 화면에서 상품명이 너무 길면 주문서에서 이상하게 나와 상품명만 문자열 자르려고 하는데..

 

위 2가지 함수 중에 어느 것이 좋은지요?

 

고수님의 지도 바랍니다.

댓글을 작성하려면 로그인이 필요합니다.

답변 2개

답변에 대한 댓글 1개

두꺼비밥
9년 전
아.. 좋은 정보 감사합니다.

댓글을 작성하려면 로그인이 필요합니다.

B
9년 전

 lib 열어서 직접 확인해 보세요 

상황에 따라 다르거든요

 

 

</p><p>//글자 수 자르기</p><p>function cut_str($str, $len, $suffix="…")</p><p>{</p><p>         $arr_str = preg_split("//u", $str, -1, PREG_SPLIT_NO_EMPTY);</p><p>         $str_len = count($arr_str);</p><p> </p><p>         if ($str_len >= $len) {</p><p>                 $slice_str = array_slice($arr_str, 0, $len);</p><p>                 $str = join("", $slice_str);</p><p> </p><p>                 return $str . ($str_len > $len ? $suffix : '');</p><p>         } else {</p><p>                 $str = join("", $arr_str);</p><p>                 return $str;</p><p>         }</p><p>}</p><p> </p><p>// UTF-8 문자열 자르기</p><p>// 출처 : <A HREF="<a href="<a href="https://www.google.co.kr/search?q=utf8_strcut&aq=f&oq=utf8_strcut&aqs=chrome.0.57j0l3.826j0&sourceid=chrome&ie=UTF-8" target="_blank" rel="noopener noreferrer">https://www.google.co.kr/search?q=utf8_strcut&aq=f&oq=utf8_strcut&aqs=chrome.0.57j0l3.826j0&sourceid=chrome&ie=UTF-8</a>"><a href="https://www.google.co.kr/search?q=utf8_strcut&aq=f&oq=utf8_strcut&aqs=chrome.0.57j0l3.826j0&sourceid=chrome&ie=UTF-8" target="_blank" rel="noopener noreferrer">https://www.google.co.kr/search?q=utf8_strcut&aq=f&oq=utf8_strcut&aqs=chrome.0.57j0l3.826j0&sourceid=chrome&ie=UTF-8</a></a>" TARGET="_blank"><a href="<a href="https://www.google.co.kr/search?q=utf8_strcut&aq=f&oq=utf8_strcut&aqs=chrome.0.57j0l3.826j0&sourceid=chrome&ie=UTF-8</A>" target="_blank" rel="noopener noreferrer">https://www.google.co.kr/search?q=utf8_strcut&aq=f&oq=utf8_strcut&aqs=chrome.0.57j0l3.826j0&sourceid=chrome&ie=UTF-8</A></a>"><a href="https://www.google.co.kr/search?q=utf8_strcut&aq=f&oq=utf8_strcut&aqs=chrome.0.57j0l3.826j0&sourceid=chrome&ie=UTF-8</A>" target="_blank" rel="noopener noreferrer">https://www.google.co.kr/search?q=utf8_strcut&aq=f&oq=utf8_strcut&aqs=chrome.0.57j0l3.826j0&sourceid=chrome&ie=UTF-8</A></a></a></p><p>function utf8_strcut( $str, $size, $suffix='...' )</p><p>{</p><p>                 $substr = substr( $str, 0, $size * 2 );</p><p>                 $multi_size = preg_match_all( '/[x80-xff]/', $substr, $multi_chars );</p><p> </p><p>                 if ( $multi_size > 0 )</p><p>                         $size = $size + intval( $multi_size / 3 ) - 1;</p><p> </p><p>                 if ( strlen( $str ) > $size ) {</p><p><span class="Apple-tab-span" style="white-space:pre">						</span> $str = substr( $str, 0, $size );</p><p>                         $str = preg_replace( '/(([x80-xff]{3})*?)([x80-xff]{0,2})$/', '$1', $str );</p><p>                         $str .= $suffix;</p><p>                 }</p><p> </p><p>                 return $str;</p><p>}</p><p>

                         

로그인 후 평가할 수 있습니다

답변에 대한 댓글 1개

두꺼비밥
9년 전
네.. 답변 감사합니다.
그래서 문의드린겁니다.. 상황에 따라 다를거라 생각해서 그 상황이 어떤 의미인지 몰라서 문의한겁니다.
그 상황이란 서버 특성인지... 모르겠어요...

댓글을 작성하려면 로그인이 필요합니다.

답변을 작성하려면 로그인이 필요합니다.

로그인