해결된 질문
작성
·
253
0
만약에 닉네임을 name[react](23) 라고 지었고, id가 20이라면
data.content는 @[name[react](23)](20) 이런식으로 되잖아요.
그런데 거기서 코드에 있는 정규표현식을 쓰면 match는
](1) 부분을 빼먹게 되고 그 상태에서 arr을 구하면
닉네임이 name[react 으로, id는 1이 아닌23으로 출력되더라고요. 실제로 예시와 똑같이 회원가입 하고 name[react](23)에게 멘션 해보니
클릭했을 때 초깃값으로 파란줄이 name[react 까지만 생성되고 추가로 ](20) 이란 텍스트가 더해지더라고요. (참고로 name[react](23)의 ID가 20입니다.)물론 Link로 넘어가는 것도 안되고요.
그래서 +? 말고 그냥 +로 해보니깐 위처럼 잘 매칭 되는 것 같아서 코드에 적용시켰더니
이제 Link부분은 잘 나오는데
멘션 클릭시 초깃값이 여전히 이상하게 나옵니다. 저 부분은 어딜 고쳐야 되는 건가요?
답변 1
1
네, 이럴 때 하는 좋은 방법이 있습니다.
닉네임 특수문자 사용 금지
저기 하이라이트 하는 부분은 라이브러리의 부분이라서 라이브러리에서 저 부분 수정하는 걸 제공하지 않으면 수정 불가능합니다.
생각해보니 롤이나 넥슨같이 유명한 게임에서 조차 닉네임 설정에 특수문자를 막아놓았던 것 같네요. 감사합니다!