浏览器兼容问题:
由于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>")方法进行拆分显示了;
由于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>")方法进行拆分显示了;