FCKeditor使用方法技术详解
作者:深蓝
QQ:76863715
本文PHPChina论坛首发
本文特为《PHP5和MySQL5 Web开发技术详解》一书编写
1、概述
FCKeditor是目前最优秀的可见即可得网页编辑器之一,它采用JavaScript编写。具备功能强大、配置容易、跨浏览器、支持多种编程语言、开源等特点。它非常流行,互联网上很容易到相关技术文档,国内许多WEB项目和大型网站均采用了FCKeditor(如百度,阿里巴巴)。本文将通过与PHP相结合,从基本安装到高级的配置循序渐进介绍给广大PHPer。
FCKeditor:www.fckeditor/
FCKeditor Wiki:wiki.fckeditor/
2、下载FCKeditor
登录FCKeditor官方站(www.fckeditor),点击网站右上角“Download”链接。
笔者编写本文时,FCKeditor当前最新的稳定版本是2.4.3,因此我们下载此版本的zip压缩格式文档。如图1所示:
图1:下载FCKeditor 2.4.3(最新稳定版)
注意:当点击“FCKeditor_2.4.3.zip”链接后,将跳转到sourceforge网站上自动下载。如果您当前使用Linux或Unix系统,可以点击“FCKeditor_2.4.”链接下载.格式的压缩包。
3、安装FCKeditor
    解压“FCKeditor_2.4.3.zip”文档到您的网站目录下,我们先假定您存放FCKeditor和调用脚本存于同一个目录下。目录结构如下图所示:
图2:网站目录结构图
fckeditor目录包含FCKeditor2.4.3程序文件。check.php用于处理表单数据。add_article.ph
p和add_article_js.html分别是PHP调用FCKeditor和JavaScript调用FCKeditor实例脚本文件。
3.1、用PHP调用FCKeditor
    调用FCKeditor必须先载入FCKeditor类文件。具体代码如下。
<?php
include("fckeditor/fckeditor.php") ; // 用于载入FCKeditor类文件
>
接下来,我们需要创建FCKeditor实例、指定FCKeditor存放路径和创建(显示)编辑器等。具体代码如下所示(代码一般放在表单内)。
<?php
$oFCKeditor = new FCKeditor('FCKeditor1') ;  // 创建FCKeditor实例
$oFCKeditor->BasePath = './fckeditor/';        // 设置FCKeditor目录地址
$FCKeditor->Width='100%';                //设置显示宽度
$FCKeditor->Height='300px';              //设置显示高度的高度
$oFCKeditor->Create() ;                    // 创建编辑器
>
下面是笔者创建好的实例代码,您可将代码保存为add_article.php。
<?php
include("fckeditor/fckeditor.php") ; // 用于载入FCKeditor类文件
>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312">
<title>用PHP调用FCKeditor</title>
</head>
<body>
<form action="check.php" method="post" name="exapmle">
<?php
$oFCKeditor = new FCKeditor('FCKeditor1') ;  // 创建FCKeditor实例,可创建多个实例
$oFCKeditor->BasePath = './fckeditor/';      // 设置FCKeditor目录地址
$oFCKeditor->Create() ;                      // 创建编辑器
>
<input name="ok" type="submit" value="提交" >
</form>
</body>
</html>
通过浏览里打开you-address/add_article.php 查看FCKeditor安装效果。如图3所示。
图3:FCKeditor安装成功
注意:如果您想将FCKeditor创建为HTML结果代码,以便于在模板引擎里面调用(如Smarty)可使用如下代码。
$output = $oFCKeditor->CreateHtml() ;
现在,您可通过POST方式获得编辑器的变量值。本例将表单的action设置为check.php,您可在check.php里使用代码
$fckeditorValue = $_POST['FCKeditor1'];
获得编辑器的变量值了。
    FCKeditor安装成功了。但是,我们还可以通过更多设置来使FCKeditor更加灵活人性化。具体方法文本后面介绍。
3.2、用JavaScript调用FCKeditor
    调用FCKeditor必须先载入FCKeditor类文件,但与PHP调用方法不同,应用下面的代码。
<script type="text/javascript" src="./fckeditor/fckeditor.js"></script>
载入FCKeditor类成功后,有三种方法创建(显示)编辑器。
一:内嵌方法(推荐)
在您想要显示FCKeditor的地方创建如下代码(通常在表单里):
<script type="text/javascript">
  var oFCKeditor = new FCKeditor('FCKeditor1');
  oFCKeditor.BasePath = "./fckeditor /";
  oFCKeditor.Create();
</script>
下面是笔者创建好的实例代码,您可将代码保存为add_article_js.html。
<html>
<head>
<script type="text/javascript" src="./fckeditor/fckeditor.js"></script>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312">
<title>用JavaScript调用FCKeditor</title>
</head>
<body>
<form action="check.php" method="post" name="example">
<script type="text/javascript">
  var oFCKeditor = new FCKeditor('FCKeditor1');
  oFCKeditor.BasePath = "./fckeditor/";
  oFCKeditor.Create();
</script>
<input name="ok" type="submit" value="提交" >
</form>
</body>
</html>
通过浏览里打开you-address/add_article_js.html 查看FCKeditor安装效果。效果和图3完全一样。
    同样,如果您可以使用和前面一样的方法取得编辑器的POST变量值。
$fckeditorValue = $_POST['FCKeditor1'];
二:文本区域(TEXTAREA)方法
同内嵌方法一样,也必须先载入fckeditor类。但创建(显示)编辑器同内嵌方法不同,我们需要为load定义一个函数。这样,函数便可以在页面加载时执行了。函数的定义代码如下所示。
<script type="text/javascript">
mysql操作官方文档
  load = function()
  {
      var oFCKeditor = new FCKeditor( 'MyTextarea' ) ;
      oFCKeditor.BasePath = "./FCKeditor/" ;
      oFCKeditor.ReplaceTextarea() ;
}
</script>
接着,您就可以在页面中(通常在表单里)定义id为MyTextarea的文本区域(TEXTAREA)。代码如下所示:
<textarea id ="MyTextarea" name="MyTextarea" ></textarea>
下面是笔者创建好的实例代码,显示效果当然也是一样的。笔者这里就不哆嗦了。
<html>
<head>
<script type="text/javascript" src="./fckeditor/fckeditor.js"></script>
<script type="text/javascript">
      load = function()
      {
        var oFCKeditor = new FCKeditor( 'MyTextarea' ) ;
        oFCKeditor.BasePath = "./fckeditor/" ;
        oFCKeditor.ReplaceTextarea() ;
      }
</script>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312">

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。