Notice
Recent Posts
Recent Comments
Link
| 일 | 월 | 화 | 수 | 목 | 금 | 토 |
|---|---|---|---|---|---|---|
| 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 | 26 | 27 | 28 |
Tags
- TypeScript
- docker
- spring boots
- kotlin
- 파이썬
- React
- 백준
- 코테
- 코딩테스트
- css
- chrome
- it
- EC2
- Android
- AWS
- Next
- nuxt
- python
- nginx
- 오퍼월
- JavaScript
- react-native
- Express
- Jenkins
- NanoHttpd
- 오블완
- 개발
- toml
- 티스토리챌린지
- 광고 id
Archives
- Today
- Total
내맘대로 개발일지
[React] Html Tag 걸러내는 방법 본문
📱테스트 환경
"react": "18.2.0"
"react-dom": "18.2.0"
"typescript": "^4.9.5"
[Express] Mysql Html Tag 걸러내기
📱테스트 환경 "express": "^4.18.2" "typescript": "^5.3.3" Front 에서 ReactQuill 라이브러리를 이용해서 텍스트 입력을 받고 있었다. 이렇게 하니까 백앤드에서 데이터를 저장할 때 html 코드 그대로 저장해야
8735.tistory.com
이전에 Express Mysql 을 사용하면서 Html 태그를 걸러내는 작업을 했었는데
프론트 React 에서도 해당 작업이 필요했다.
이유를 찾아보자면

이건 홈에서 보이는 타이틀과 해당 게시글의 내용이다. 보면 h3, p span 등 html 코드가 보인다.

해당 개시글의 내용에는 굵기, 밑줄 Link 등등 .. 이런 효과가 들어가려면 태그가 있어야한다.
내가원하는건 홈에서 해당 태그가 보이지않도록 하는 것이기 때문에 태그를 지우고 데이터베이스에 넣을 순 없다.
이를 해결하기 위해서 정규식을 통해서 해당 코드들을 걸러내는 작업을 해 줄 것이다.
export const stripHtml = (html: string) => {
return html.replace(/<[^>]*>?/gm, "");
};
stripHtml(data.content)
해당 코드를 사용하게 되면 < 로 시작하거나 > 로 시작하는 모든 문자열을 찾아서 패턴을 포함시킨다.

근데 같은 띄어쓰기 엔티티는 제거가 안된다 ㅎ .. 그래서 추가적으로 작업을 해주면 ?
export const stripHtml = (html: string) => {
const noTags = html.replace(/<[^>]*>?/gm, "");
const noEntities = noTags.replace(/&[^;]+;/gm, "");
return noEntities;
};
끝!
'Javascript > React' 카테고리의 다른 글
| [React] Warning: React does not recognize the prop on a DOM element. (1) | 2024.04.26 |
|---|---|
| [React] 탭 눌렀을 때 다른 곳으로 이동하는 방법 (0) | 2024.04.25 |
| [React] 공백문자 추가   (0) | 2024.04.15 |
| [React] 검색어 하이라이트 효과 (0) | 2024.04.15 |
| [React] "@babel/plugin-proposal-private-property-in-object" ... (0) | 2024.04.12 |