即時嘗試使用TinyMCE作爲網頁表單的一部分。整合工作正常,但一旦您提交表格,當然數據將被驗證。Tinymce問題 - 額外段落
如果驗證評估爲false,例如某些其他輸入尚未填寫,那麼我當然不希望用戶重新輸入所有數據。所以我將Tinymce內容傳回重新加載的視圖。發生
以下問題:在TinyMCE的textarea的
內容:測試
含量TinyMCE的重裝後:<p>test</p>
所以額外的段落每次添加的包裝。
我希望Tinymce能夠將輸入視爲插入到html視圖中,以便純文本視圖保持不變,並且不會插入額外的段落。
我該如何做到這一點?
感謝您的回覆。這只是一個示例輸入,我肯定需要一個RTE,因爲我正在構建一些定製的CMS功能。我現在使用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>
生成表單文本域(配置項的方式) :
echo form_textarea('content', html_entity_decode($content));
那就是它。
等的輸入:
<p><strong>test</strong></p><p>bla bla bla</p>
現在會顯示在TinyMCE的下面的方式,如果它被保存在$內容:
測試
唧唧歪歪
如果您提交表單,那麼後數據將再次等於$內容。這正是您應該考慮檢查針對注射或XSS攻擊的發佈數據的問題,所以請不要以同樣的方式進行,除非您跟蹤接下來發生的情況......我的解決方案可能不是非常安全所有情況下,我認爲這很好,但是如果有人知道更好,我肯定願意更多地瞭解這一點;)