제목 없는 게시판 정보
게시판 제목 없는 게시판
첨부파일
테스트한 버전5.4.18
호환 가능 버전5.4 이상
본문
제목없는 게시판이라기보다는
제목을 입력하지 않으면 본문 내용을 제목으로 만드는 게시판입니다.
물론 제목을 입력하면 기존의 게시글처럼 기능합니다.
다른 분이 공유한 것도 있지만 제 방식으로 만들어 보았습니다.
----------
1. 첨부파일의 압축을 풀고 write.tail.skin.php 를 pc와 모바일의 게시판 디렉토리로 업로드합니다.
이것으로 그만입니다.
----------
2. 주요 코드입니다.
<script>
<?php
$subject_limit = 70;
$target_editor = $is_dhtml_editor ? $config['cf_editor'] : "none";
?>
btn_submit.onclick = function() {
if (wr_subject.value.trim() == "") {
<?php
if ($target_editor == "cheditor5") echo "changeSubject = ed_wr_content.outputBodyHTML();";
else if ($target_editor == "smarteditor2") echo "changeSubject = oEditors.getById['wr_content'].getIR();";
else echo "changeSubject = wr_content.value;";
?>
noTag = changeSubject.replace(/(<([^>]+)>)/ig, "").trim();
wr_subject.value = noTag.length <= <?php echo $subject_limit; ?> ? noTag : noTag.slice(0, <?php echo $subject_limit; ?>) + "...";
}
}
</script>
----------
3. 본문내용의 최대글자수는
$subject_limit = 70; 에서 바꾸어 줍니다.
----------
4. cheditor5 와 smarteditor2 이외의 다른 에디터를 사용할 경우에는...
else echo "changeSubject = wr_content.value;"; 의 위에 else if 문을 첨가해 줍니다.
else if ($target_editor == "myeditor") echo "changeSubject = myeditor의 내용추출함수;";
else echo "changeSubject = wr_content.value;";
----------
----------
----------
[ 2021년 12월 23일에 추가사항 보완하였습니다 ]
1. 엔터키로 줄바꿈된 부분이 띄워쓰기 처리가 안 되어서 수정하였습니다.
2. 그누보드<img src=.......>그누보드
이와 같은 형태일 때 태그가 제거되면서 띄워쓰기 처리가 안 되는 부분을 수정하였습니다.
3. 자바스크립트 실행코드를 함수로 만들었습니다.
----------
<script>
function changeTitle() {
<?php
$subject_limit = 70;
$target_editor = $is_dhtml_editor ? $config['cf_editor'] : "none";
?>
if (wr_subject.value.trim() == "") {
<?php
if ($target_editor == "cheditor5") echo "changeSubject = ed_wr_content.outputBodyHTML();";
else if ($target_editor == "smarteditor2") echo "changeSubject = oEditors.getById['wr_content'].getIR();";
else echo "changeSubject = wr_content.value;";
?>
reSubject = "";
changeEnter = changeSubject.replace(/\n/gi, " ");
noTag = changeEnter.replace(/(<([^>]+)>)/gi, " ").trim();
for (var i in noTag) reSubject = reSubject + (noTag[i] == " " && noTag[i - 1] == " " ? "" : noTag[i]);
wr_subject.value = reSubject.length <= <?php echo $subject_limit; ?> ? reSubject : reSubject.slice(0, <?php echo $subject_limit; ?>) + "...";
}
}
btn_submit.onclick = function() {
changeTitle();
}
</script>
----------
----------
----------
[ 2021년 12월 26일에 추가사항 보완하였습니다 ]
엔티티문자로 보이던 부분을 처리하였습니다.
<script>
function changeTitle() {
<?php
$subject_limit = 70;
$target_editor = $is_dhtml_editor ? $config['cf_editor'] : "none";
?>
if (wr_subject.value.trim() == "") {
<?php
if ($target_editor == "cheditor5") echo "changeSubject = ed_wr_content.outputBodyHTML();";
else if ($target_editor == "smarteditor2") echo "changeSubject = oEditors.getById['wr_content'].getIR();";
else echo "changeSubject = wr_content.value;";
?>
btn_submit.insertAdjacentHTML("afterend", "<div id=entityDiv style=display:none></div>");
entityDiv.innerHTML = changeSubject;
changeSubject = entityDiv.innerText;
reSubject = "";
changeEnter = changeSubject.replace(/\n/gi, " ");
noTag = changeEnter.replace(/(<([^>]+)>)/gi, " ").trim();
for (var i in noTag) reSubject = reSubject + (noTag[i] == " " && noTag[i - 1] == " " ? "" : noTag[i]);
wr_subject.value = reSubject.length <= <?php echo $subject_limit; ?> ? reSubject : reSubject.slice(0, <?php echo $subject_limit; ?>) + "...";
}
}
btn_submit.onclick = function() {
changeTitle();
}
</script>
추천
9
9
댓글 전체
좋아요 실물그림이 잌ㅆ으면 좋을것을 아쉽네요
초보라서
초보라서

다운로드 받으셔서 바로 적용해보시면 금방이에요.
굳이 예제가 필요하지 않습니다.
덧글 감사합니다.
굳이 예제가 필요하지 않습니다.
덧글 감사합니다.

부족한 부분을 보완했으니 다시 받아가세요.

맘에 들어요. 감사합니다.


들레아빠님 감사합니다.

부족한 부분을 보완했으니 다시 받아가세요.

감사합니다.

발빠른 들레아빠님 감사합니다.
공개해 주셔서 감사합니다.

지금보니 변수이름을 changSubject 가 아니라 changeSubject 라고 해야했네요.
뭐 그래도 코딩은 언어가 아니라 기호이고 의미론적 지평이 아니라 구문론적 지평이라 전혀 상관은 없지만 좀 찝찝하긴 하네요.ㅜㅠ
------
변수명 고쳐서 다시 업로드하였습니다.
뭐 그래도 코딩은 언어가 아니라 기호이고 의미론적 지평이 아니라 구문론적 지평이라 전혀 상관은 없지만 좀 찝찝하긴 하네요.ㅜㅠ
------
변수명 고쳐서 다시 업로드하였습니다.

부족한 부분을 보완했으니 다시 받아가세요.
매우 유용한 스킨을 공개해주셔 감사드립니다.
어떤 게시판은 제목을 꼭 정할 필요가 없는 게시판도 있는데요.
제목을 정하는 고민없이 그냥 본문에 글을 쓰면 텍스트의 첫부분이 제목으로 정해지니 참 좋습니다.
http://pws.co.kr/bbs/board.php?bo_table=basic_no_title
어떤 게시판은 제목을 꼭 정할 필요가 없는 게시판도 있는데요.
제목을 정하는 고민없이 그냥 본문에 글을 쓰면 텍스트의 첫부분이 제목으로 정해지니 참 좋습니다.
http://pws.co.kr/bbs/board.php?bo_table=basic_no_title


얼마전 리자님이 자게에서 적용하신 것을 보고 한번 해 봐야지라는 생각이 들더군요.
웹학교님이 공유하신 스킨이 있긴 한데 그냥 제가 생각한 방식으로 만들어 보았습니다.
각 에디터의 내용추출함수도 이미 공개되어 있어서 그냥 날로 먹은 스킨입니다.ㅋ
웹학교님이 공유하신 스킨이 있긴 한데 그냥 제가 생각한 방식으로 만들어 보았습니다.
각 에디터의 내용추출함수도 이미 공개되어 있어서 그냥 날로 먹은 스킨입니다.ㅋ

부족한 부분을 보완했으니 다시 받아가세요.

공개해 주셔서 감사합니다.
유용하게 사용 하겠습니다.
유용하게 사용 하겠습니다.

예 유용하게 사용해 주시면 제가 고맙지요.

부족한 부분을 보완했으니 다시 받아가세요.
좋은글 감사합니다!

예 감사드려요
공개해주셔서 감사합니다

감사드립니다.


구글링 해보니 내용추출함수가
CKEDITOR.instances.resCnts.getData(); 라고 하니까...
CKEDITOR.instances.wr_content.getData(); 가 되겠네요.
이를 else if 를 써서 에디터의 이름을 조건으로 걸어주세요.
CKEDITOR.instances.resCnts.getData(); 라고 하니까...
CKEDITOR.instances.wr_content.getData(); 가 되겠네요.
이를 else if 를 써서 에디터의 이름을 조건으로 걸어주세요.
else if ($target_editor == "에디터이름") echo "changeSubject = CKEDITOR.instances.wr_content.getData();";

감사해요^^ 말씀하신데로 적용하니까 적용 되네요 ㅎㅎ
그런데, 에디터를 사용하면 이모지나 " 이런 특수문자가 제대료 표기가 안되네요;
에디터를 사용하지 않으면 제목없이 쓸때 이모지랑 특수문자가 다 잘 나오는데, 에디터를 사용하면 " = ' 이렇게 나오네요 ㅜㅜ
그런데, 에디터를 사용하면 이모지나 " 이런 특수문자가 제대료 표기가 안되네요;
에디터를 사용하지 않으면 제목없이 쓸때 이모지랑 특수문자가 다 잘 나오는데, 에디터를 사용하면 " = ' 이렇게 나오네요 ㅜㅜ

죄송합니다. 어느날우연이님께서 말씀하신 에디터를 사용해 본 적이 없어서요.
그걸 실험하려면 에디터를 깔고 이리저리 뜯어보아야 할 텐데 정말 송구스럽게도 그럴 생각이 현재로서는 없습니다. 이해해 주시길요.
지금보니 제가 사용한 에디터에서도 특수문자 처리가 좀 그렇긴 하네요.
손을 한번 봐야겠네요.
그걸 실험하려면 에디터를 깔고 이리저리 뜯어보아야 할 텐데 정말 송구스럽게도 그럴 생각이 현재로서는 없습니다. 이해해 주시길요.
지금보니 제가 사용한 에디터에서도 특수문자 처리가 좀 그렇긴 하네요.
손을 한번 봐야겠네요.

네, 말씀드린 에디터뿐아니라,
기본에디터들에서도 발생하는 것이어서 말씀드렸어요^^
좋은자료 만들어주셔서 다시한번 감사해요!!!
기본에디터들에서도 발생하는 것이어서 말씀드렸어요^^
좋은자료 만들어주셔서 다시한번 감사해요!!!

엔티티문자를 해결하는 로직을 더 첨가하였습니다. 새로 다운로드 받아 가세요.
구글링해서 자바스크립트로 엔티티를 변환하는 함수를 찾아보니 마땅한 것이 없어서...
엔티티문자 부분을 처리하려면 기본코어를 수정해야 하고 때에 따라서는 아작스가 필요할 것 같아 상당히 성가실 거라 생각했는데 뜻밖에도 꼼수가 통해서 쉽게 해결했습니다.ㅋ
문자열을 div 의 innerHTML 에 먼저 주었다가 변수로 받을 때는 innerText 로 받으니 가능하네요. 덕분에 저도 공부 좀 하였습니다.
구글링해서 자바스크립트로 엔티티를 변환하는 함수를 찾아보니 마땅한 것이 없어서...
엔티티문자 부분을 처리하려면 기본코어를 수정해야 하고 때에 따라서는 아작스가 필요할 것 같아 상당히 성가실 거라 생각했는데 뜻밖에도 꼼수가 통해서 쉽게 해결했습니다.ㅋ
문자열을 div 의 innerHTML 에 먼저 주었다가 변수로 받을 때는 innerText 로 받으니 가능하네요. 덕분에 저도 공부 좀 하였습니다.
감사합니다

감사합니다.
우와 너무 좋아요

감사합니다
테마나 빌더를 사용하는 게시판은 안되는 거죠? ㅜㅜ

감사합니다. 상황에 따라 다르겠죠.
감사합니다. 차근차근히 적용해보니 잘됩니다.^^

감사합니다