jQuery仿thinkphp在线编辑器

jQuery仿thinkphp在线编辑器

jQuery仿thinkphp在线编辑器

jQuery仿thinkphp在线编辑器,下面我们会演示如何用htmlspecialchars和addslahes插入编辑器内容,并且在页面上展示想要的内容

源码介绍

引入编辑器插件

 rel="stylesheet" type="text/css" href="css/editor.css"/> 
 rel="stylesheet" type="text/css" href="uploadify/uploadify.css" /> 
 type="text/javascript" src="http://libs.baidu.com/jquery/1.7.2/jquery.min.js"> 
 type="text/javascript" src="uploadify/jquery.uploadify.js"> 
 type="text/javascript" src="js/jquery.shortcuts.js">

               

编辑器html代码

 class="think-editor"> 
     class="tool"> 
         class="fullscreen fr" href="javascript:;">全屏 
         class="bold" href="javascript:;" title="加粗">加粗 
         class="link" href="javascript:;" title="链接">链接 
         class="code" href="javascript:;" title="代码">代码 
         class="tel" href="javascript:;" title="将电话号码生成图片">电话 
         class="email" href="javascript:;" title="将电子邮件生成图片">电子邮件 
         class="upload" href="javascript:;" title="图片"> id="editor_img" type="file" name="editor_img" /> 
    
 
     class="enter"> 
         name="content" autocomplete="off">

               

粗体bold

$('.think-editor .bold').click(function() { 
    $(this).closest('.think-editor').find('textarea').insertContent('[b]' + $(this).closest('.think-editor').find('textarea').selectionRange() + '[/b]'); 
});

               

斜体italic

$('.think-editor .italic').click(function() { 
    $(this).closest('.think-editor').find('textarea').insertContent('[i]' + $(this).closest('.think-editor').find('textarea').selectionRange() + '[/i]'); 
});

               

下划线underline

$('.think-editor .underline').click(function() { 
    $(this).closest('.think-editor').find('textarea').insertContent('[u]' + $(this).closest('.think-editor').find('textarea').selectionRange() + '[/u]'); 
});

               

链接link

$('.think-editor .link').click(function() { 
    $(this).closest('.think-editor').find('textarea').insertContent('[url]' + $(this).closest('.think-editor').find('textarea').selectionRange() + '[/url]'); 
});

               

代码code

$('.think-editor .code').click(function() { 
    $(this).closest('.think-editor').find('textarea').insertContent('[code]' + $(this).closest('.think-editor').find('textarea').selectionRange() + '[/code]'); 
});

               

邮箱email

$('.think-editor .email').click(function() { 
    $(this).closest('.think-editor').find('textarea').insertContent('[email]' + $(this).closest('.think-editor').find('textarea').selectionRange() + '[/email]'); 
});

               

全屏fullscreen

$('.think-editor .fullscreen').click(function() { 
    var self = $(this).closest('.think-editor'); 
    if (self.data('fullscreen')) { //取消全屏 
        self.removeAttr("style").find('textarea').removeAttr("style"); 
        $('body').css("overflow""auto"); 
        self.data("fullscreen"0); 
    } else { 
        $('body').css("overflow""hidden"); 
        self.css({ 
            "position""fixed"
            "left"0
            "top"0
            "background-color""#FFF"
            "width": $(window).width() - 2
            "height": $(window).height() - 2
            "z-index"999999 
        }); 
        self.find('textarea').height($(window).height() - 36); 
        self.data("fullscreen"1); 
    } 
});

               

编辑器上传图片

$('#editor_img').uploadify({ 
    'swf''uploadify/uploadify.swf'//http://www.thinkphp.cn/Public/common/uploadify-v3.1/uploadify.swf 
    'uploader''uploadify.php'//http://www.thinkphp.cn/public/editorUpload.html 
    'fileObjName': $('#editor_img').attr('name'), 
    'buttonClass''upload-image'
    'fileTypeExts''*.gif; *.jpg; *.png'
    'width'28
    'height'28
    'onUploadSuccess'function(file, data, response) { 
        $('.think-editor textarea').insertContent('[img]' + data + '[/img]'
    } 
});

               

uploadify.php上传图片

 
 
$targetPic = 'uploads/' . time() . ".jpg"// 新上传图片名称 
 
if (!empty($_FILES)) { 
    $uploadInfo = $_FILES['editor_img']; 
    $tempFile = $uploadInfo['tmp_name']; 
    $fileTypes = array('jpg''jpeg''gif''png'); // 允许文件上传类型 
    $fileParts = pathinfo($uploadInfo['name']); 
    
    if (in_array($fileParts['extension'], $fileTypes)) { 
        move_uploaded_file($tempFile$targetPic); 
        
    } 

 echo $targetPic
?>

               

文本框textarea光标定位

$('textarea').shortcuts();


分享到 :

发表评论

登录... 后才能评论