댓글 Textare 작성시 p 태그가 붙게는 했는데..
CMS/프레임워크 | Rhymix 1.9 |
---|---|
개발 언어 | PHP 7.3 |
function setTextareaReplace() {
var str = document.getElementById("editor_{$oDocument->document_srl}").value;
str = "<p>" + str.replace(/(?:\r\n|\r|\n)/g, "</p>\r\n<p>") + "</p>";
document.getElementById("editor_{$oDocument->document_srl}").value = str;
};
로 댓글을 textarea 에디터로 작성시 <p>내용</p> 가 붙게되습니다
여기서 문제가 또 발생하는데요 p 태그가 html 태그로 붙는게아니라 댓글작성시 "<p>내용</p>" 대로 출력됩니다
<p>를 <p>태그로 변환시켜 안보이게하려면 어떻게 해야할까요?
스포
Lv. 5
댓글 8
작성시 붙게 하는게 아니라 작성 완료후 submit 넘어가는 과정에서 붙게 해야합니다.
작성완료 후 sbmit 하는 과정에서 setTextareaReplace가 실행됩니다 등록버튼에 onclick으로 넣었습니다
replace으로 치환을 해주면 될거같은데 이과정에서 막힙니다 ㅠㅠ
정확히말하면 html수정으로 보면 <p><p>내용</p></p> 으로 나오는데 여기서 <p>를 지워야할거같습니다
생각해보니 수정할때 에디터는 ck에디터라서 그런거같기도 하군요
라이믹스에서 textarea 에디터를 사용하면(<textarea> 태그를 직접 입력한 것이 아니라, 에디터 설정에서 ckeditor 대신 textarea를 선택한 경우) <p> 태그 입력 등의 과정이 모두 자동으로 처리됩니다. 사용하신 것과 같은 함수는 전혀 필요하지 않습니다. 만약 안 된다면 오래된 스킨(모바일 에디터를 지원하지 않는 스킨)에서 에디터를 불러오거나 댓글 내용을 표시하는 방식이 문제입니다. 문제가 있다면 스킨을 고쳐야지, 불필요한 변환 과정을 추가하면 이중으로 인코딩됩니다.
그야 모듈에 따라 다르고 스킨에 따라 다르지요. 처음 DB에 저장할 때 <p> 태그가 제대로 들어갔다면 스킨에서 표시해 줄 때는 별다른 처리가 필요하지 않습니다.
<textarea> 태그와 textarea 에디터는 전혀 다르기 때문에 명확하게 구분해서 말씀해 주셔야 합니다.
만약 사용하시는 스킨에서 에디터 모듈을 참조하지 않고 <textarea> 태그를 직접 박아놓았다면 글쓰기 폼에 use_editor=N, use_html=N 인풋을 추가해 줘야 할 수도 있습니다. 모바일에서 에디터를 사용할 수 있도록 하는 패치의 부작용으로, 일부 오래된 스킨이나 서드파티 자료에서는 에디터 사용 여부를 직접 표시해 주어야 하거든요. (XE타운에서 use_editor, use_html로 검색해 보시면 나옵니다만, 대부분 에디터를 사용하기 위해 Y로 설정하라는 내용일 겁니다. <textarea>를 사용하려면 거꾸로 N이어야 합니다.)
만약 사용하시는 스킨에서 에디터 모듈을 참조한다면 (<textarea> 태그를 직접 출력하지 않고 {$editor}라고 되어 있으며, 에디터 모듈에서 textarea를 선택해 놓은 거라면) 위의 문단은 무시하세요.
답변 감사합니다 ㅠㅠ 스킨제작자분께 문의드려야겠군요