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

제목길이마다 보이는 별표 * 채택완료

suda 4년 전 조회 1,417

안녕하세요 고수님들 궁금한점이 있어서 질문 드립니다 ㅠㅠ

 

아래 소스로 넣게되면  제목의 길이가 길어 앞에만 확인이 가능해서 뒤에까지 확인이 어려운데 

 

글자수가 8글자 이상이면 보이는 글자가 3개가 아닌 5개로 보이게끔 하려면 어떻게 처리해야할까요? ㅠㅠ

 

아시는분은 알려주시면 감사하겠습니다 좋은 하루 보내세요 ! 

 

 

</p>

<p>        for ($i=0; $i<count($list); $i++) {

          if (!$is_admin && $list[$i]['wr_subject'] != 'admin') {

              $list[$i]['wr_subject'] = preg_replace('/(?<=.{3})./u','*',$list[$i]['wr_subject']);

          }</p>

<p>

 

 

 

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

답변 4개

채택된 답변
+20 포인트
4년 전

function mytory_asterisk($string) { 

    $string = trim($string); 

    $length = mb_strlen($string, 'utf-8');  //글자를 숫자로

    $string_changed = $string; 

    if ($length <= 2) {   //글이 2개일때는 하나만 *

        // 한두 글자면 그냥 뒤에 별표 붙여서 내보낸다. 

        $string_changed = mb_substr($string, 0, 1, 'utf-8') . '*'; 

    }else if($legnth >= 8){ //글이 8개 크거나 같을때 5개 *

        $string_changed = preg_replace('/(?<=.{5})./u','*',$length);  <-요거 변수는 알아서...

    }else if ($length < 8) {  //글이 8개 미만일때는 3개 *

        $string_changed = preg_replace('/(?<=.{3})./u','*',$length);  <-요거 변수는 알아서...

    }

    return $string_changed; 

}

 

정규식은 어려워성 맞나모르겠지만은!

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

답변에 대한 댓글 1개

s
suda
4년 전
텐구님 답변 주셔서 감사합니다.
해당 방식으로 넣게되면은 레이아웃이 깨지게 되네요 ㅠㅠ
혹시 다른 방법도 아실까요? ㅠㅠ

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

j
4년 전
var teg = $(".teg").val();
 
 
else if(teg.length > 8){
</code></pre>

<pre>
<code> $list[$i]['wr_subject'] = preg_replace('/(?<=.{5})./u','*',$list[$i]['wr_subject']);

}
변수하나 추가해서. $ 에 삽입. 그후 length 로 숫자 감지후 5글자 이상 감지해서 추출하면 되지 않을까요? else if 문은 if 바로 뒤에 넣으면 될 것 같아요
로그인 후 평가할 수 있습니다

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

4년 전
for ($i=0; $i      $변수 = mytory_asterisk($list[$i]['wr_subject']);
   }

}


function mytory_asterisk($string) { 

    $string = trim($string); 

    $length = mb_strlen($string, 'utf-8');  //글자를 숫자로

    $string_changed = $string; 

    if ($length <= 2) {   //글이 2개일때는 하나만 *

        // 한두 글자면 그냥 뒤에 별표 붙여서 내보낸다. 

        $string_changed = mb_substr($string, 0, 1, 'utf-8') . '*'; 

    }else if($legnth >= 8){ //글이 8개 크거나 같을때 5개 *

        $string_changed = preg_replace('/(?<=.{5})./u','*',$length);  <-요거 변수는 알아서...

    }else if ($length < 8) {  //글이 8개 미만일때는 3개 *

        $string_changed = preg_replace('/(?<=.{3})./u','*',$length);  <-요거 변수는 알아서...

    }

    return $string_changed; 

}

 

질문으로만 봤을때는 $list[$i]['wr_subject']  <- 이거를 쓰는건데 

$변수 를 대입하시면 되는데 레이아웃이 왜 깨지는지는 모르겠지만 ㄷㄷㄷ

 

 

 

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

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

j
4년 전
preg_replace 안에 숫자 3만 5로 바꾸면 되는거 아닌가요..?;;
로그인 후 평가할 수 있습니다

답변에 대한 댓글 1개

s
suda
4년 전
안녕하세요 jayz님

숫자만 5로 바꾸면 길이가 짧은것은 제목이 모두 노출되어서 ㅠㅠ

길이가 긴거만 조금 더 보이게끔 하고 싶습니다.

방법아신다면 알려주시면 감사하겠습니다..

좋은 하루 보내세요~

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

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

로그인