富文本转换字符串 php,php 如何将一个富文本字符串生成word文档?

问题描述

我现在有一个富文本字符串,

比如$str="


qqq啊啊啊啊啊百度网址


";

中间我省去了大量的图片base64的编码。

问题出现的环境背景及自己尝试过哪些方法

相关代码

// 请把代码文本粘贴到下方(请勿用图片代替代码)

我在网上搜到相关方法,比如这个:

先创建一类类:

class Exportword

{

function start()

{

ob_start();

echo '

xmlns:w="urn:schemas-microsoft-com:office:word"

xmlns="http://www.w3.org/TR/REC-html40">';

}

function save($path)

{

echo "";

$data = ob_get_contents();

ob_end_clean();

$this->wirtefile($path, $data);

}

function wirtefile($fn, $data)

{

$fp = fopen($fn, "wb");

fwrite($fp, $data);

fclose($fp);

}

}

然后实现的代码如下:

$exportWord = new Exportword();

$exportWord->start();

$fileName = '我的学习笔记' . date('Y-m-d H:i:s') . '.docx';

$wordPath = $save_path . $fileName;

echo $str;

$exportWord->save($wordPath);

ob_flush();//每次执行前刷新缓存

flush();

你期待的结果是什么?实际看到的错误信息又是什么?

这样执行之后,文件是生成了,但是有两个问题。

问题1.生成的文件图片没有能展示出来(未能正常显示),其他的富文本信息都能正常写到word文档里面。

问题2.生成的文件使用office打开,会有报错,无法打开,但是使用wps能够打开。为什么?

求大神能帮我解决上面两个问题,或者不使用我上面的方法,是否还有其他方法能够实现将富文本转成word,并使用office能正常打开,内容都能正常显示。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值