我用tinymce这个编辑器,在提交内容的时候发现了这样的问题:在编辑框里面输入了加粗,加链接等内容,提交后,我将textarea echo出来。但是出来的是加粗,加链接的效果,而不是代码。(我是要将这代码放到数据库中的)请问如何解决?
这是我调用tinymce的js内容
<script type="text/javascript" src="tinymce/tiny_mce.js"></script>
<script type="text/javascript">
tinyMCE.init({
language : "zh",
relative_urls : false,
remove_script_host : true,
mode : "textareas",
theme : "advanced",
plugins : "inlinepopups",
theme_advanced_buttons1 : "bold,italic,underline,strikethrough,separator,justifyleft,justifycenter,justifyright,justifyfull,separator,bullist,numlist,separator,undo,redo,separator,link,unlink,separator,image,insertimage,forecolor,backcolor,fontsizeselect,removeformat",
theme_advanced_buttons2 : "",
theme_advanced_buttons3 : "",
theme_advanced_toolbar_location : "top",
theme_advanced_toolbar_align : "left",
theme_advanced_statusbar_location : "bottom",
});
</script>这个是form内容
<form name=commentary method=post action=11.shtm onSubmit="return checkform()">
  <textarea name="textarea"></textarea><input type=submit name=Submit value=Submit>
</form>

解决方案 »

  1.   

    可以使用php的函数来处理这些代码,去掉html的代码就可以了
      

  2.   

    另外,我不能去掉html的代码,因为内容是包括文字还有图片的整体,去掉的话,等我想显示的话怎么办?
      

  3.   

    htmlspecialchars你是说让我用这个函数么?
      

  4.   

    你想要什么效果,把textarea中的数据直接echo出来就是刚才编辑的html页面,这也是为什么叫WYSIWYG编辑器的原因;如果你想输出刚才编辑的内容的html代码,就echo htmlspecialchars($textarea);如果你想把数据存入数据库,并且用的是MySQL,先执行 $textarea = addslashes($textarea)从数据库查询出来并显示内容的时候再执行 $textarea = stripcslashes($textarea),然后再echo出来,是否要对$textarea进行转义,取决于你的服务器上php.ini配置文件中对 magic_quotes_gpc 的设置.
      

  5.   

    多谢T5500解答。想在多问一下,我用js来判断必填内容是否为空,用了下面的语句。可是,内容我有填写,
    但是js还是弹出对话窗,要我填写,我点击确定后,再次提交就可以了。请问如何解决?<script type="text/javascript" src="tinymce/tiny_mce.js"></script>
    <script type="text/javascript">
    tinyMCE.init({
    language : "zh",
    relative_urls : false,
    remove_script_host : true,
    mode : "textareas",
    theme : "advanced",
    plugins : "inlinepopups",
    theme_advanced_buttons1 : "bold,italic,underline,strikethrough,separator,justifyleft,justifycenter,justifyright,justifyfull,separator,bullist,numlist,separator,undo,redo,separator,link,unlink,separator,image,insertimage,forecolor,backcolor,fontsizeselect,removeformat",
    theme_advanced_buttons2 : "",
    theme_advanced_buttons3 : "",
    theme_advanced_toolbar_location : "top",
    theme_advanced_toolbar_align : "left",
    theme_advanced_statusbar_location : "bottom",
    });
    function checkform()
    {  if(document.commentary.titlez.value=="")
      {
        alert("必须输入主标题");
        document.commentary.titlez.focus();
        return false;
      }
      if(document.commentary.author.value=="")
      {
        alert("必须输入文章作者!");
        document.commentary.author.focus();
        return false;
      }
      if(document.commentary.textarea.value=="")
      {
        alert("必须输入文章内容");
        document.commentary.textarea.focus();
        return false;
      }
    }
    </script>
      

  6.   


    我也遇到了这个问题,在tinymce的官网论坛上,找到几个相关的主题,也没有找到简单点的方法,基本上都需要再加上一个自定义的比较复杂的js函数来解决这个问题.我现在是干脆不去理会这个问题了,判断内容是否空白的工作服务端进行,客户端代码中不进行这个判断了.
      

  7.   

    多谢T5500的解答。。
    另外onlyfu我觉得这个编辑器挺好的。个头不大,引入的挺快。功能也还算全。虽然上传照片以及上传照片管理的功能需要付费才能使用。。