사이트 활용팁

2024.11.07 18:14

제목을 해시태그로 자동 변환 소스코드

목적 : 글쓰기 페이제에서, 제목에 글을 쓰면 해당 제목을 공백을 기준으로 구분하여 태그 입력란에 자동으로 기입 되도록

제목을 자동으로 해시태그로 변환: 사용자가 제목을 입력한 후, 제목에 포함된 단어들을 자동으로 해시태그로 변환하여 해시태그 입력란에 추가합니다.

1. 특수문자 제거: 제목에서 특수문자(예: @, #, !, 등)를 자동으로 제거하고, 공백으로 대체하여 단어를 분리합니다.
2. 금지어 필터링: 특정 금지된 단어는 해시태그로 변환되지 않도록 필터링하여 불필요한 태그 생성을 방지합니다.

소스코드

<script>
    $(function() {
        // 기존 Tagify 초기화 코드
        const all_tags = <?php echo $js_array; ?>;
        const tags = Array.isArray(all_tags) ? all_tags.map((a) => a.tag) : [];
        
        const input = document.querySelector('input[name=wr_tag]');
        const tagify = new Tagify(input, {
            whitelist: tags,
            dropdown: {
                position: "input",
                enabled: 0
            },
        });

        // 금지된 단어 목록 (배열로 관리)
        const forbiddenWords = ["제목에", "입력하면", "작성자", "내용"];

        // 제목 입력이 완료된 후 해시태그 자동 입력
        const subjectInput = document.getElementById('wr_subject');
        const tagInput = document.getElementById('wr_tag');

        // 제목 입력 후 input 요소에서 focus가 벗어나면 (blur 이벤트 발생 시)
        subjectInput.addEventListener('blur', function() {
            const titleValue = subjectInput.value.trim();

            if (titleValue && !tagInput.value) {
                // 특수문자 및 불필요한 문자를 공백으로 치환
                const cleanedTitle = titleValue
                    .replace(/[^a-zA-Z0-9가-힣\s]/g, ' ') // 모든 특수문자 제거하고 공백으로 변환
                    .replace(/\s+/g, ' ')                 // 여러 공백을 하나로 치환
                    .trim();                            // 앞뒤 공백 제거

                // 제목을 공백 기준으로 정확하게 분리하고 금지된 단어 제외
                const words = cleanedTitle
                    .split(' ')             // 공백을 기준으로 단어 분리
                    .filter(word => word && !forbiddenWords.includes(word)); // 금지된 단어 필터링

                // 변환된 해시태그 값 로그로 확인 (디버깅용)
                console.log("변환된 해시태그 값:", words);

                // Tagify로 각 단어를 해시태그로 추가
                tagify.addTags(words); // Tagify 라이브러리 사용
            }
        });
    });
</script>
    0 0
    공유 더보기
    페이스북으로 공유 트위터로 공유 카카오톡으로 공유 공유링크 공유
소개 공유하고, 소통하다

빌런은 디스코드, 인스타그램, 페이스북, 카카오톡, 텔레그램 등 다양한 메신저에서 발생하는 범죄, 사기, 보이스피싱, 스캠과 함께 중고 거래, 데이트 폭력, 학교 폭력, 술집 진상, 게임 사기꾼, 나쁜 회사 상사, 일상 속 매너 없는 사람들에 대한 정보를 공유하는 플랫폼입니다. ... 자세히보기


또한, 한국 아이돌, 배우, 해외 유명인, 스포츠 스타, 인플루언서에 대한 팬클럽 게시판도 운영하여, 좋아하는 스타와 소통할 수 있는 공간을 제공합니다. 안전한 커뮤니티에서 우리의 경험을 나누고, 더 나은 사회를 만들어 갑시다. ... 접기

저작권 저작권 저작권 주의사항.

본 사이트의 모든 게시물과 그에 포함된 텍스트, 이미지, 동영상 등 모든 콘텐츠는 본 사이트에서 독자적으로 편집 및 표현 방식을 수정하여 완성된 창작물입니다. 저작권법 및 관련 법령에 따라 보호를 받습니다. 따라서, 본 정보는 사이트 운영자의 명시적인 서면 동의 없이 무단으로 전재, 복사, 배포, 재가공, 또는 어떠한 형태로든 상업적/비상업적으로 활용될 수 없습니다. ... 자세히보기


또한, 게재된 정보는 개인적인 열람 및 참고 이외의 어떠한 용도로도 사용할 수 없습니다. 이를 위반할 경우 관련 법률에 의거하여 민·형사상의 책임을 질 수 있습니다.


본 사이트는 등록자가 게재한 자료의 내용에 대한 정확성, 완전성, 신뢰성을 보증하지 않으며, 해당 정보의 오류나 누락에 대해 어떠한 책임도 지지 않습니다. 또한, 사용자가 본 정보를 신뢰하여 취한 직간접적인 모든 조치나 결과에 대해서도 책임을 부담하지 않습니다. 정보 사용에 따른 모든 위험은 사용자 본인에게 있습니다. ... 접기

  • 이전글자동 댓글 생성2024.11.09
  • 다음글chatGPT 활용한 댓글 답변 게시판2024.11.07
  • 댓글목록

    profile_image
    관리자미니홈 쪽지보내기 메일보내기 자기소개 아이디로 검색 전체게시물  오래 전 2024-11-07 18:15

    이 코드는 정말 훌륭해 보입니다! 제목에서 해시태그를 자동으로 생성하는 기능은 콘텐츠를 분류하고 검색 가능성을 높이는 데 매우 유용할 것 같습니다....

    이 코드는 정말 훌륭해 보입니다! 제목에서 해시태그를 자동으로 생성하는 기능은 콘텐츠를 분류하고 검색 가능성을 높이는 데 매우 유용할 것 같습니다. 특수문자 제거와 금지어 필터링 기능은 불필요한 태그 생성을 방지하는 데 도움이 되는 사려 깊은 세부 사항입니다. 이 코드가 게시물 작성을 더욱 효율적이고 편리하게 만들어 주길 바랍니다.

    여기에 답글

    profile_image
    관리자미니홈 쪽지보내기 메일보내기 자기소개 아이디로 검색 전체게시물  오래 전 2024-11-07 18:15

    현재 댓글 생성 서비스를 이용할 수 없습니다.

    여기에 답글

    profile_image
    관리자미니홈 쪽지보내기 메일보내기 자기소개 아이디로 검색 전체게시물  오래 전 2024-11-07 18:15

    현재 댓글 생성 서비스를 이용할 수 없습니다.

    여기에 답글