(죄송합니다. 좀전에 올린 글은 제가 테스트를 잘못 했었네요. 삭제했습니다.)
정확하게는, 멘션을 엔터 키를 사용해서 연달아서 여러 개 달을 경우
(예:
@a
@b
@c)
"에디터를 사용하는 경우"는 문제가 없는데, "textarea" 모드일 경우
제일 첫번째 (위 예시에서는 a) 를 제외한 나머지는 알림이 오지 않습니다
원인을 보니까, 문장의 앞뒤가 p 태그로 둘러쌓여 있는 경우에는 문제가 없는데
단순히 br 태그를 사용해서 줄을 나누는 textarea의 경우
알림 센터에서는 이 br 태그를 인식하지 못하고 그냥 한 줄처럼 인식해 버리네요
(근거: 위의 경우에서 a의 알림을 확인해 보면, 일반 에디터에서 작성했을 경우 "xx님이 "@a @b @c" 댓글에서 회원님을 언급했습니다" 라고 뜨는데, textarea에서 확인해 보면 "xx님이 "@a@b@c" 댓글에서 회원님을 언급했습니다" 라고, 사이에 간격이 없이 다 붙어서 나오네요)
혹시 이거 해결방법 아시는 분 계신가요? 솔직히 제일 좋은건 textarea도 에디터처럼 p 태그를 사용하도록 하고 싶은데, 어떻게 하는지 모르겠고... 알림센터를 br 태그를 인식해서 간격을 띄우도록 해야 할 거 같은데...
댓글 3
아 참고로, 앞에 다른 멘션이 있는 경우 말고도, 줄바꿈하고 나서 바로 멘션을 하는 경우에도
(즉, 엔터키를 치고 나서 바로 멘션을 하면)
역시 마찬가지로 "@" 글자가 윗줄과 붙어버려서 인식하지 못합니다.
(즉, 예컨대
테스트
@a
테스트
라고 입력하면, 알림센터는 이걸 "테스트@a테스트" 라고 인식해버려서 멘션이 안 오네요
물론 이건 br태그를 제대로 인식 못하고 글자들을 붙여버려서 일어나는 문제니까 당연한 부분이지만..)
$this->_getMentionTarget(strip_tags($obj->content));
이러한 문자가 바로 태그를 수정하는 과정인데 게시글과정에서 모든 문자열과 PHP문을 지워버리기 때문에. 남은 콘텐츠를 가지고 따졌을땐 붙은글자로 인식하는 것 같습니다.
다른 방법이 있나 한번 찾아는 보겠습니다.;ㅁ;