tinyMCE插件开发之插入html,php,sql,js代码 并代码高亮显示

2023-12-07 0 777

下面就是我开发的过程。 首先,我的 tinyMCE版本是 Version: 3.2.7 (2009-09-22) 。下载地址 https://www.jb51.net/codes/17198.htmltinyMCE插入代码,需要调用 tinyMCE的 tinyMCE.execCommand(\’mceInsertContent\’,false,value); 方法。其中参数无需改变,value 就是你要插入的内容, 比如我写了一个函数, 复制代码 代码如下: function InsertHTML(value) { tinyMCE.execCommand(\’mceInsertContent\’,false,value); } 后面,针对该例子,提供下载。在例子中。一共涉及到三个文件。 tinyMCE.html insertcode.php save.php 这三个文件。 tinyMCE.html 是tinyMCE文本框页面。 主要代码如下: 复制代码 代码如下: <script type=\”text/javascript\” src=\”https://www.jb51.net/tinymce/tiny_mce.js\”></script> <script type=\”text/javascript\”> tinyMCE.init({ // General options convert_urls : false, mode : \”exact\”, elements : \”Article_Content\”, //mode : \”textareas\”, theme : \”advanced\”, plugins : \”safari,pagebreak,style,layer,table,save,advhr,advimage,advlink,emotions,iespell,inlinepopups,insertdatetime,preview,media,searchreplace,print,contextmenu,paste,directionality,fullscreen,noneditable,visualchars,nonbreaking,xhtmlxtras,template,wordcount\”, // Theme options 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_buttons3 : \”tablecontrols,|,hr,removeformat,visualaid,|,sub,sup,|,charmap,emotions,iespell,media,advhr,|,print,|,ltr,rtl,|,fullscreen\”, theme_advanced_buttons4 : \”insertlayer,moveforward,movebackward,absolute,|,styleprops,|,cite,abbr,acronym,del,ins,attribs,|,visualchars,nonbreaking,template,pagebreak\”, theme_advanced_toolbar_location : \”top\”, theme_advanced_toolbar_align : \”left\”, theme_advanced_statusbar_location : \”bottom\”, theme_advanced_resizing : true, // Example content CSS (should be your site CSS) content_css : \”css/content.css\”, // Drop lists for link/image/media/template dialogs template_external_list_url : \”lists/template_list.js\”, external_link_list_url : \”lists/link_list.js\”, external_image_list_url : \”lists/image_list.js\”, media_external_list_url : \”lists/media_list.js\”, // Replace values for the template plugin template_replace_values : { username : \”Some User\”, staffid : \”991234\” } }); </script> <script type=\”text/javascript\”> function InsertHTML(value) { tinyMCE.execCommand(\’mceInsertContent\’,false,value); } </script> 其中js代码是初始化 tinyMCE。下载的例子中,并未包含 tinyMCE,你需要自己下载。然后 更改js代码的 src 即可。 复制代码 代码如下: <input name=\”button\” type=\”button\” onclick=\”window.open(\’insertcode.php\’,\’插入代码\’,\’height=500, width=600, top=300, left=300, toolbar=no, menubar=no, scrollbars=no, resizable=no,location=no, status=no\’)\” value=\”点击这里插入代码\” /> 上面这段代码,是用来打开insertcode.php文件的。 接下来,我们来看下 insertcode。php 这个文件的代码。 首先是 js 代码 复制代码 代码如下: <script language=\”javascript\” src=\”http://www.gosoa.com.cn/js/jquery.js\”></script> <script language=\”javascript\”> function insertcode() { var value = $(\’#postcontent\’).html(); var codetype = $(\’#codetype\’).val(); // window.opener.InsertHTML(\'<textarea rows=\”3\” cols=\”50\” name=\”code\” class=\”\’+codetype+\’\”>\’+value+\'</textarea>\’); window.opener.InsertHTML(\'<pre name=\”code\” class=\”\’+codetype+\’\”>\’+value+\'</pre>\’); window.close(); } </script> 其次是 PHP 和 html 代码 复制代码 代码如下: <?php error_reporting(0); $content = $_POST[\’content\’]; if(!empty($content)) { $codetype = $_POST[\’codetype\’]; echo \'<div id=\”postcontent\”>\’; $content = htmlspecialchars($content); echo $content; echo \'</div> <input type=\”hidden\” name=\”codetype\” id=\”codetype\” value=\”\’.$codetype.\’\” /> <input type=\”button\” name=\”Submit\” value=\”提交\” onclick=\”insertcode()\” style=\”border:1px solid #000; line-height:18px; width:60px;\”/>\’; }else { ?> <div style=\”margin:0 auto\”> <form id=\”form1\” name=\”form1\” method=\”post\” action=\”insertcode.php\”> <label>选择要插入的代码类型 <select name=\”codetype\” id=\”codetype\”> <option value=\’php\’>php</option> <option value=\’js\’>js</option> <option value=\’html\’>html</option> <option value=\’c\’>c</option> <option value=\’asp\’>asp</option> <option value=\’xml\’>xml</option> <option value=\’java\’>java</option> <option value=\’java\’>java</option> <option value=\’CSharp\’>C#</option> <option value=\’sql\’>SQL</option> </select> </label> <label> <textarea name=\”content\” id=\”content\” cols=\”30\” rows=\”20\” style=\”width:600px; height:200px; border:1px dashed #333\”></textarea> </label> <p> <label style=\”padding-left:50px;\”> <input type=\”Submit\” name=\”Submit\” value=\”提交\” style=\”border:1px solid #000; line-height:18px; width:60px;\”/> </label> </p> <p>&nbsp;</p> </form> </div> <?php } ?> 在insertcode.php中,insertcode() 函数用来调用 tinyMCE.html页面的 insertHTMl()函数,并将代码插入到 tinyMCE.html 页面中。 代码中,我们为什么要 \’+value+\’ 呢? 因为我们在显示页面,将会采用 SyntaxHighlighter 插件来高亮显示代码。 还有一点要说明,在这里,$content = htmlspecialchars($content); 我们对于代码本身,进行了 htmlspecialchars 转义操作。这样,插入数据库的代码则会是安全的。 OK,我们再来看 save.php,该页面用来显示 提交的内容。 主要代码如下: 复制代码 代码如下: <? $Article_Content = $_POST[\’Article_Content\’]; function transcode($str) { if(empty($str)) { return false; } $str = str_replace(\’\”\’,\’\”\’,$str); $str = str_replace(\’\’,\’\’,$str); $str = str_ireplace(\’&lt;BR&gt;\’,\”n\”,$str); $str = str_ireplace(\'<pre\’,\'<pre name=\”code\” \’,$str); return $str; } echo transcode($Article_Content); ?> <script class=\”javascript\” src=\”/tinymce/lightcode/Scripts/shCore.js\”></script> <script class=\”javascript\” src=\”/tinymce/lightcode/Scripts/shBrushCSharp.js\”></script> <script class=\”javascript\” src=\”/tinymce/lightcode/Scripts/shBrushPhp.js\”></script> <script class=\”javascript\” src=\”/tinymce/lightcode/Scripts/shBrushJScript.js\”></script> <script class=\”javascript\” src=\”/tinymce/lightcode/Scripts/shBrushJava.js\”></script> <script class=\”javascript\” src=\”/tinymce/lightcode/Scripts/shBrushVb.js\”></script> <script class=\”javascript\” src=\”/tinymce/lightcode/Scripts/shBrushSql.js\”></script> <script class=\”javascript\” src=\”/tinymce/lightcode/Scripts/shBrushXml.js\”></script> <script class=\”javascript\” src=\”/tinymce/lightcode/Scripts/shBrushDelphi.js\”></script> <script class=\”javascript\” src=\”/tinymce/lightcode/Scripts/shBrushPython.js\”></script> <script class=\”javascript\” src=\”/tinymce/lightcode/Scripts/shBrushRuby.js\”></script> <script class=\”javascript\” src=\”/tinymce/lightcode/Scripts/shBrushCss.js\”></script> <script class=\”javascript\” src=\”/tinymce/lightcode/Scripts/shBrushCpp.js\”></script> <script class=\”javascript\”> dp.SyntaxHighlighter.HighlightAll(\’code\’); </script> OK,完了。 ^_^ ~~~tinyMCE 插件开发之插代码高亮 v1.0 (支持html,php,sql,js)

您可能感兴趣的文章:

  • Sql Server 如何去掉内容里面的Html标签
  • js+html5操作sqlite数据库的方法
  • 分享php代码将360浏览器导出的favdb的sqlite数据库文件转换为html
  • PHP HTML JavaScript MySQL代码如何互相传值的方法分享
  • Java SQL注入案例教程及html基础入门

收藏 (0) 打赏

感谢您的支持,我会继续努力的!

打开微信/支付宝扫一扫,即可进行扫码打赏哦,分享从这里开始,精彩与您同在
点赞 (0)

悠久资源 站长故事 tinyMCE插件开发之插入html,php,sql,js代码 并代码高亮显示 https://www.u-9.cn/yunying/gushi/125333.html

常见问题

相关文章

发表评论
暂无评论
官方客服团队

为您解决烦忧 - 24小时在线 专业服务