2011-03-06 4 views
4

im은 웹 양식의 일부로 TinyMCE를 사용하려고합니다. 통합은 정상적으로 작동하지만 일단 양식을 제출하면 데이터 유효성이 검증됩니다.Tinymce 문제 - 추가 단락

유효성이 false로 평가되는 경우, 예를 들어 다른 입력이 채워지지 않은 경우 사용자가 모든 데이터를 다시 입력하지 못하게 할 수 있습니다. 그래서 Tinymce 내용을 다시로드 된보기로 전달합니다.

다음과 같은 문제가 발생합니다 TinyMCE에 텍스트 영역에서

내용 : 시험 재 장전 후 TinyMCE에의

내용 : 그래서 별도의 단락 래퍼마다 추가 <p>test</p>

합니다.

나는 Tinymce가 HTML보기에 삽입 된 것처럼 입력을 처리하여 일반 텍스트보기가 완전하고 추가 단락이 삽입되지 않도록하고 싶습니다.

어떻게하면됩니까?


답장을 보내 주셔서 감사합니다. 그것은 몇 가지 사용자 정의 된 CMS 기능을 구축하고 있기 때문에 RTE가 필요합니다. html_entity_decode()로 html_entity_decode()를 작동 시켰습니다. html은 데이터베이스에서 가져온 것입니다. 그렇습니다. 사용자 입력을 올바르게 필터링합니다 (기본적으로 CI는 않습니다. 그러나 XSS를 테스트하여 확실하게 ...). 나는이 가장 우아한 방법을하고있어 잘 모르겠어요 ...하지만 다음 날 위해 잘 작동하는 것 같다 :

JS 부 :

<script type="text/javascript" src="<?php echo base_url();?>tinymce/jscripts/tiny_mce/tiny_mce.js"></script> 


<script type="text/javascript"> 

$(document).ready(function(){ 

    tinyMCE.init({ 
     theme : "advanced", 
     mode : "textareas", 
     theme_advanced_buttons1 : "save,newdocument,|,bold,italic,underline,strikethrough,|,justifyleft,justifycenter,justifyright,justifyfull,|,styleselect,formatselect,fontselect,fontsizeselect", 
     theme_advanced_buttons2 : "cut,copy,paste,pastetext,pasteword,|,search,replace,|,bullist,numlist,|,outdent,indent,blockquote,|,undo,redo,|,link,unlink,anchor,image,cleanup,help,code,|,insertdate,inserttime,preview,|,forecolor,backcolor", 
     theme_advanced_toolbar_location : "top", 
     theme_advanced_toolbar_align : "left", 
     entity_encoding : "raw", 
     content_css : "<?php echo base_url();?>xcss/standard_tinymce.css", 
    }); 

}); 

</script> 

형태의 텍스트 영역합니다 (CI 방법)을 생성 :

echo form_textarea('content', html_entity_decode($content)); 

그 것이다.

같은 입력 :

<p><strong>test</strong></p><p>bla bla bla</p> 
는 $의 컨텐츠에 저장된 경우

지금 TinyMCE에있는 다음과 같은 방법을 표시시겠습니까 :

테스트

즐 즐 즐


양식을 제출하면 사후 데이터는 $ content와 다시 같습니다. 그리고 그것은 주사 또는 XSS 공격에 대한 게시물 데이터를 확인하기 위해 고려해야하는 요지입니다. 따라서 다음에 발생할 일을 추적하지 않는 한 같은 방식으로하지 마십시오. 내 솔루션은 아마도 매우 안전하지 않습니다. 모든 경우, 괜찮 으면 좋겠지 만 아무도 잘 모른다면 분명히 그 사실을 알게 될 것입니다.)

답변

1

이것은 tinymce (그리고 다른 모든 것 내가 아는 rtes)는 p 태그 나 div와 같은 블록 요소로 텍스트를 줄 필요가있다. 이 텍스트 (한 텍스트의 주요 기능 중 하나)의 스타일을 지정하려면이 방법이 필요합니다. html 코드가 필요없는 간단한 형식 입력에 tinymce 편집기를 사용하지 않는 것이 좋습니다.당신은 특별히 TinyMCE에 초기화 옵션에서

forced_root_block : false 

을 지정하여 루트 태그로 콘텐츠를 포장하지 TinyMCE에 말할 수

2

그것의 꽤 TinyMCE에 초기화 옵션이를 simple.Add

force_p_newlines : false