问题描述
我现在有一个富文本字符串,
比如$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能正常打开,内容都能正常显示。