JavaScript 정규식JavaScript에서 HTML 태그 제거하기JavaScript 문자열 자르기HTML 태그 제거문자열 자르기 함수

JavaScript에서 HTML 태그 제거 및 문자열 자르기

KUKJIN LEE
KUKJIN LEE
2024년 5월 22일
221

웹 애플리케이션을 개발할 때 사용자 생성 콘텐츠를 표시하는 경우가 많습니다. 일관된 표시를 위해 이러한 HTML 태그를 제거하고 콘텐츠의 길이를 특정 길이로 자를 필요가 있습니다.

 

함수 개요

truncateDescription2 함수는 문자열 입력 description과 선택적 매개변수 maxLength(기본값 140)를 받습니다. 이 함수는 두 가지 주요 작업을 수행합니다:

  1. HTML 태그 제거: 정규식을 사용하여 HTML 태그를 제거합니다.

  2. 문자열 자르기: 길이가 maxLength를 초과하지 않도록 문자열을 자릅니다.

구현 세부사항

다음은 truncateDescription2 함수의 전체 코드입니다.

 

export const truncateDescription2 = (
  description: string,
  maxLength: number = 140,
): string => {
  // HTML 태그 제거
  const strippedDescription = description.replace(/<[^>]*>?/gm, "");
  // 길이 제한
  if (strippedDescription.length > maxLength) {
    return strippedDescription.substring(0, maxLength) + "...";
  }
  return strippedDescription;
};

 

코드 분석

  1. HTML 태그 제거:

    • 정규식 /\<[^>]*>?/gm을 사용하여 모든 HTML 태그를 찾아 제거합니다.

    • <[^>]*>?:

      • <는 HTML 태그의 여는 꺾쇠 괄호를 매치합니다.

      • [^>]*는 닫는 꺾쇠 괄호 >를 제외한 모든 문자를 0회 이상 매치합니다.

      • >?는 닫는 꺾쇠 괄호 >를 선택적으로 매치합니다.

    • g 플래그는 정규식을 전역으로 만들어 문자열의 모든 일치를 찾습니다.

    • m 플래그는 문자열을 여러 줄로 취급합니다. 이 예제에서는 꼭 필요하지는 않습니다.

  2. 문자열 자르기:

    • HTML 태그를 제거한 후 결과 문자열의 길이를 확인합니다.

    • 길이가 maxLength를 초과하면 문자열을 maxLength까지 자르고 생략 부호(...)를 추가합니다.

    • 문자열 길이가 제한 내에 있으면 그대로 반환합니다.

 

사용 예시 (이미지 결과값)

 

 

관련 글

TypeScript any 린트 에러(no-explicit-any) 근본적으로 해결하기

TypeScript 프로젝트에서 @typescript-eslint/no-explicit-any 린트 에러는 단순 규칙 비활성화로 해결할 문제가 아닙니다. 눈 앞 문제는 해결할 수 있지만, TypeScript를 사용하는 가장 중요한 이유를 위배하게 됩니다. any 타입은...

2025년 7월 23일269

JSP 주석, 아직도 `` 쓰시나요? 올바른 사용법

코드를 작성하다 보면 주석을 남기는 경우가 많습니다. 하지만 JSP 환경에서 어떤 주석을 사용하냐에 따라 보안 수준과 성능 이 크게 달라집니다. 표준 주석: 서버 사이드 주석 &lt;%-- --%&gt; JSP 페이지 내 개발 관련 주석은 &lt;%-- --%&gt; 를 사용하는게 좋습니다...

2025년 7월 9일144

쉽게 만드는 React Tab 라이브러리 react-tabs

개발자가 커스텀 스타일을 쉽게 적용할 수 있도록 최소한의 스타일만 제공하여 유연한 스타일링 이 가능한 라이브러리입니다. 상태 관리가 내장되어 있어 탭 선택 및 패널 표시 로직을 직접 구현할 필요 없이 간편하게 사용할 수 있습니다. 기본 사용법 먼저, 라이브러리를 설치합...

2025년 6월 17일173

Next.js 환경 변수 NEXT_PUBLIC 접두사 역할

NEXT_PUBLIC 접두사를 붙이면 변수의 접근 범위가 완전히 달라집니다. 이 차이점을 이해하는 것이 안전하고 효율적인 Next.js 애플리케이션을 구축하는 데 중요합니다. NEXT_PUBLIC 접두사가 없는 환경 변수 (서버 전용) NEXT_PUBLIC 접두사 없이...

2025년 6월 13일156