평문을 HTML로 변환하기
포스트
취소

평문을 HTML로 변환하기

기능

textarea 형태의 에디터에서 작성 된 글은 평문으로 작성됩니다.
이를 HTML 문서에서 보여주게 된다면 줄내림 등의 양식이 적용되지 않기에, 이를 변환시켜주는 함수입니다.
덤으로 https://www.naver.com 같은 링크가 들어오면 a 태그를 래핑하는 기능도 포함 되었습니다.

코드

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
/** text2html
 * 텍스트를 html 형태로 변환시킵니다. 줄내림, 링크 자동 변환 등을 지원합니다.
 * @author: 박 찬영
 * @param {text} string
 * @return {html} string
 */

const text2html = text => {
  let html = text;
  html = uri2link(html);
  html = nl2br(html);
  return html;
};

export const uri2link = text => {
  const linkRegex = /(http|https):\/\/(\w+:{0,1}\w*@)?(\S+)(:[0-9]+)?(\/|\/([\w#!:.?+=&%@!\-\/]))?/gm;
  return text.replace(linkRegex, '<a href="$1">$1</a>');
};

export const nl2br = text => {
  const nlRegex = /\n/gm;
  return text.replace(nlRegex, '<br />');
};

export default text2html;
이 기사는 저작권자의 CC BY 4.0 라이센스를 따릅니다.

Github Issue로 오픈소스 기여하기

JSDoc으로 Javascript 문서를 좀 더 친절하게 만들어보자