记录一次导出word遇到的textare换行问题

来源:互联网 发布:thinkphp nginx伪静态 编辑:程序博客网 时间:2024/06/11 08:41

事件:页面上通过textare添加信息,word导出。遇到换行全部变成了一个空格的问题。


解决方法:

首先要注意的:

1、Textarea 和 ckeditor(包括之前用的fckeditor)传递出来的东西,无需strCheck函数(以前是sqlReplace)的过滤。

2、Textarea传递的值一定要加HTMLEncode,然后才能写入数据库。(读出来的时候,直接显示;;;如果是重新编辑,则需要HTMLDecode来复原)

3、ckeditor的出来的值不能加HTMLEncode之类的处理。最新的WiiPHP中已经在function_common.php中增加了一个函数ckReplace来处理。

ckeditor传递的值,只要做两点处理,把单引号替换成编码格式的,以及把换行替换掉。(内容中的换行没法控制样式,都得搞成段落)。


当将数据导入时定义函数对数据中的标签做替换:

        function wordCode($parameter){$parameter = str_replace(">",">",$parameter);$parameter = str_replace("<","<",$parameter);$parameter_arr= explode('<br/>', $parameter);$str = '';$parameter_arr1 = array();if($parameter_arr){foreach($parameter_arr as $key => $val){if($val){$parameter_arr1[] = HTMLDecode($val);}}$str = implode('</w:t></w:r></w:p><w:p><w:r><w:rPr><w:sz w:val="21"/><w:sz-cs w:val="10.5"/></w:rPr><w:t>', $parameter_arr1);}return $str;}





0 0
原创粉丝点击