cheditor5 모든 태그제거 테이블 살리기 > 그누4 팁자료실

그누4 팁자료실

그누보드4와 관련된 팁을 여러분들과 함께 공유하세요.
나누면 즐거움이 커집니다.

cheditor5 모든 태그제거 테이블 살리기 정보

cheditor5 모든 태그제거 테이블 살리기

본문

cheditor 에서 T와지우개 옆 빗자루 모양의 "모든 태그 제거"를 선택할 경우
(워드등을 복사할 때 불필요한 내용들 제거 또는 기존 수식들 다 지우고 재 편집을 원할때...등등)
테이블 속성까지 삭제 됩니다.
이 경우는 좀 난감해 지죠..
다시 테이블을 구성해야 하니까요..
 
cheditor.js 파일2781 줄 쯤에
if (cmd == 'ClearTag') {
     if (confirm('모든 HTML 태그를 삭제합니다. 계속하시겠습니까?\n(P, DIV, BR, table 태그와 텍스트는 삭제하지 않습니다.)')) {
      var content = this.doc.body.innerHTML;
      this.doc.body.innerHTML = content.replace(/<(\/?)([^>]*)>/g,
        function(a, b, c) {
         var c = c.toLowerCase().split(/ /)[0];
         if (c != 'p' && c != 'div' && c != 'br' && c != 'table' && c != 'tr' && c != 'td') return '';
         
         return '<'+b+c+'>';
        });
     } 
 
를 추가하면 테이블 속성이 유지 됩니다.
 
조금 응용하면 필요한 태그 또는 불필요한 태그를 선별해서 삭제 할 수 있겠네요.
p태그를 br로 바꾼다 던가 하는 것도 가능하겠죠...
추천
1
  • 복사

댓글 4개

중요한 사항 하나 더 발견했네요... IMG 태그도 삭제됩니다. 링크 속성도 삭제 되고요.. .
따라서.. IMG, A 를 추가하는 방법으로 피할 수 있습니다.

img 및 a 의 속성이 유지되기 위해서는
if (c == 'a' || c =='img') {
return a;
}
if (c != 'p' && c != 'div' && c != 'br' && c != 'table' && c != 'tr' && c != 'td') return '';

처럼 되어야 합니다.
추가로 윗첨자 아래첨자 sub, sup 도 넣어두는 것이 좋겠네요.

꼼수적 팁으로 더하자면...
table 은
if(c == 'table' && b != "/") {
return '<table border=0 cellpadding=0 cellspacing=0 width=100%>';
}
와 같이 하면 됩니다.
b가 뭘 뜻하는지 알겠죠.. ^^
© SIRSOFT
현재 페이지 제일 처음으로