FCKeditor分页符的应用

浏览器兼容问题:

由于FCK 主要是以JS来完成操作的大部分功能。所以有些地方会出现浏览器兼容的问题,(主要浏览器:IE,FIREFOX);


在IE下面的FCK分页符代码是:

<div style="page-break-after: always"><span style="display: none"> </span></div>

在FireFox下面的FCK分页符代码是:

<div style="page-break-after: always;"><span style="display: none;"> </span></div>


由于分页符的不同,所以有时会出现,第一个用户开始是用IE录入一条新闻(新闻中插入的分页符),可是另一个用户用FireFox进入修改,此时就很容易出错。我们可以用php的preg_split 函数匹配一段字符作为分隔符,由于要考虑兼容性,因此我写的匹配模式是

$pattern = "/<div style=\"page-break-after: always;?\">\s*<span style=\"display: none;?\"> <\/span>\s*<\/div>/";
$strSplit = preg_split($pattern, $content, -1, PREG_SPLIT_NO_EMPTY);

这样就可以分割字符串了

关于分割符中内容的设置
对文章的分页,我是运用String.split("分页符")方法,将文章以分页符为分割点,返回一个String类型的数组,但是双引号不能够相互嵌套,split()方法中的参数就没办法设置。

如何修改默认的分页符:

找到js文件:在/fckeditor/editor/js/目录下,需要修改的有两个js文件:fckeditorcode_ie.js(针对IE浏览器的配置)、fckeditorcode_gecko.js(针对非IE浏览器的配置)。

在js文件中找到如下代码,并做修改:

var FCKPageBreakCommand=function()

{this.Name='PageBreak';};

FCKPageBreakCommand.prototype.Execute=function()

{FCKUndo.SaveUndoStep();

var e=FCK.EditorDocument.createElement('DIV'); //这里是创建<div>标签,此处不用修改

e.style.pageBreakAfter='always'; //这里是为<div>添加样式,把它删掉;

e.innerHTML='<span style="DISPLAY:none"> </span>';

//这里是在<div>中添加的内容,修改一下; 我的是修改为e.innerHTML=' '; 也就是仅有一个空格;

保存,重新添加文章,添加文章时看不出变化,保存看查看数据,分页符的位置变为: <div> </div>

为文章分页就可以用split("<div> </div>")方法进行拆分显示了;


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值