안녕하세요
덕분에 kboard를 잘 사용하고 있습니다! 감사합니다.
마스킹 처리 관련해서 질문이 하나 있습니다.
현재 쓰고 있는 코드입니다.
/* kboard 마스킹
*/
add_filter('kboard_user_display', 'kboard_user_display_20210716', 10, 5);
function kboard_user_display_20210716($user_display, $user_id, $user_name, $plugin, $builder){
$board = $builder->board;
if(!$board->isAdmin() && !$board->isAdmin($user_id) && $board->id == '5'){ // 실제 게시판 id로 적용해주세요.
// 이곳에 코드를 추가해보세요.
$strlen = mb_strlen($user_name, 'utf-8');
if($strlen > 3){
$showlen = 2;
}
else{
$showlen = 2;
}
$user_display = mb_substr($user_name, 0, $showlen, 'utf-8') . str_repeat('*', $strlen-$showlen);
}
return $user_display;
}
이 코드를 쓰면 작성자가 김철수 일때 김철*로 잘 표시가 됩니다.
하지만 김철(이름이 두글자)일 경우 그대로 나오는데 혹시 두글자 일 경우 이름만(김철일 경우 김*, 김철수일 경우 김철*)마스킹을 하려면 어떻게 수정을 하면 될까요?
if($strlen > 3){
$showlen = 2;
}
else{
$showlen = 2;
이 부분인건 알겠는데 이래저래 숫자를 바꿔보니 김철수도 김**가 되어버리네요 ㅠ.ㅠ
답변 기다리겠습니다. 감사합니다!
안녕하세요~^^
프로그램 코드를 올려야 할 경우 에디터의 코드 스니펫 삽입 기능을 사용해주세요.
그렇지 않으면 이상한 코드로 바뀌거나,
질의응답 시 소통에 문제가 있을 수도 있습니다.
KBoard 게시글 작성자명에서 맨 뒤에 글자만 별표 처리하고 싶으신 건지요?
아래의 코드를 활용해보시겠어요?
add_filter('kboard_user_display', 'kboard_user_display_20210716', 10, 5);
function kboard_user_display_20210716($user_display, $user_id, $user_name, $plugin, $builder){
$board = $builder->board;
if(!$board->isAdmin() && !$board->isAdmin($user_id) && $board->id == '1'){ // 실제 게시판 id로 적용해주세요.
// 이곳에 코드를 추가해보세요.
$strlen = mb_strlen($user_name, 'utf-8');
if($strlen > 1){
$user_display = mb_substr($user_name, 0, $strlen-1, 'utf-8') . '*';
}
}
return $user_display;
}
위의 코드에서 $board->id == '1' 부분은 실제 게시판 id로 적용해주세요.
위의 코드를 적용하면 작성자명이 한 글자일 때는 그대로 표시되며
두 글자 이상일 때부터 맨 뒤의 게시글 작성자명을 별표 처리하실 수 있습니다.
고맙습니다.