php实现富文本html内容转word文档doc、docx格式不乱码

1,485 阅读1分钟

因为功能需要富文本直接编写富文本生成word文档,需要实现以下功能,以下功能已被封装,目前百度到的生成的word文件打开会乱码报文件内容错误,这个解决了乱码的问题。

/**
* html内容转word文档并保存docx文件
* $content 富文本内容
*/ 
function generate_word($content){
	//文件名称及后缀
    $name = date('YmdHis').'.docx';
    //拼接完整的文件地址 如果是目录需要提前建好目录 
    $fileName = './public/docx/'.$name;
    //解决乱码的问题
    $content ='<html 
            xmlns:o="urn:schemas-microsoft-com:office:office" 
            xmlns:w="urn:schemas-microsoft-com:office:word" 
            xmlns="http://www.w3.org/TR/REC-html40">
            <meta charset="UTF-8" />'.$content.'</html>';
    //创建文件  不会自动生成目录
    $ret = file_put_contents($fileName, $content);
    if(!$ret){
	    //生成错误 返回失败
    	return false;
	}else{
		//生成成功 返回完整的文件地址
		return $fileName;
	}
}