文章详情

短信预约信息系统项目管理师 报名、考试、查分时间动态提醒

请输入下面的图形验证码

提交验证

短信预约提醒成功

php 富文本怎么转 html

2016-11-04 18:41

关注

本文操作环境:windows7系统、PHP7.1版、DELL G3电脑

php 富文本怎么转 html?

PHP 富文本转html、word、pdf文件下载

富文本我这里使用的是layui,因为 它轻……

至于富文本如何使用文档记载非常简单,有问题再说啦:http://www.layui.com/doc/modules/layedit.html

然后进行富文本的数据存取后,取出你要的内容:

转html

$html = "这里是你要的内容!";

1824166d92d1be8b21de57b1ccba1d2.png

第一行是因为图片路径不对,显示不出来,所有对图片路径进行了正确的替换

或者利用phpword也可以转为html,如上图phpword的demo,可以参考

phpword(composer):composer require phpoffice/phpword

<?PHP
require_once  ' bootstrap.php中' ;
//创建新文档... 
$ phpWord  =  new  \ PhpOffice \ PhpWord \ PhpWord();
/ *注意:您附加到文档的任何元素都必须位于节中。* /
//添加一个空的部分到文档中... 
$ section  =  $ phpWord - > addSection(); 
//添加文本元素默认......风格的字体有第
$节- > addText(
 “ ‘借鉴昨天,活在今天,憧憬明天。‘ ’最重要的是不要停止问问题。’ ”。'(爱因斯坦)');    
         
         
/ *
 *注意:可以通过三种方式自定义添加的Text元素的字体样式:
*  -  inline; 
*  - 使用指定的字体样式(隐式创建新的字体样式对象); 
*  - 使用明确创建的字体样式对象。
* / 
//'添加带有字体自定义内联的文本元素... 
$ section - > addText(
 ''伟大的成就通常是由于伟大的牺牲''。'而且永远不是自私的结果。''。'(Napoleon Hill)', array( ' name ' => ' Tahoma ', ' size ' => 10));    
         
         
        
//使用指定字体样式自定义字体添加文本元素... 
$ fontStyleName  =  ' oneUserDefinedStyle ' ; 
$ phpWord - > addFontStyle(
 $ fontStyleName, array( ' name ' => ' Tahoma ', ' size ' => 10, ' color ' => ' 1B2232 ', ' bold ' => true)); $ section - >    
            
    “最大的成就是不是永远不跌倒,‘ 
’但在再度上涨你掉下去了。” '。'(Vince Lombardi)',$ fontStyleName);         
         
    
//添加使用明确创建的字体样式对象自定义字体的文本元素... 
$ fontStyle  =  new  \ PhpOffice \ PhpWord \ Style \ Font(); 
$ fontStyle - > setBold( true); 
$ fontStyle - > setName( ' Tahoma '); 
$ fontStyle - > setSize( 13); 
$ myTextElement  =  $节- > addText( ' “相信你能和你\'重新一半。“(西奥多·罗斯福)'); 
$ myTextElement - > setFontStyle($ fontStyle);
//将文档保存为OOXML文件... 
$ objWriter  =  \ PhpOffice \ PhpWord \ IOFactory :: createWriter( $ phpWord, ' Word2007 '); 
$ objWriter - > save( ' helloWorld.docx ');
//将文档保存为ODF文件... 
$ objWriter  =  \ PhpOffice \ PhpWord \ IOFactory :: createWriter( $ phpWord, ' ODText '); 
$ objWriter - > save( ' helloWorld.odt ');
//将文档保存为HTML文件... 
$ objWriter  =  \ PhpOffice \ PhpWord \ IOFactory :: createWriter( $ phpWord, ' HTML '); 
$ objWriter - > save( ' helloWorld.html ');
/ *注意:我们跳过RTF,因为它不是基于XML的,需要一个不同的例子。* / 
/ *注意:我们跳过PDF,因为“HTML-to-PDF”方法用于创建PDF文档。* /

转word

(1)使用PHP内置file_put_contents(),我试着这样保存为word后,原来的html标签会全部存在,除非你需要富文本或html源码,否则没什么意义。

d204012bd7eee0738b1686365bdd298.png

(2)利用缓存:图片下载到本地后要显示,只能使用网络地址(IP或域名)

$wors = str_replace("/uploads/layui/","http://172.16.3.125/notes/public/uploads/layui/",$html);
$this->start();
$newname = 'pppp';
$wordname = 'files/word/'.$newname.".doc";//生成文件路径
echo $wors;
$this->save($wordname);
ob_flush();//每次执行前刷新缓存
flush();
function start()
{
    ob_start();
    echo '<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">
          <head>
               <meta http-equiv="Content-Type" content="text/html; charset=utf-8"/>
               <xml><w:WordDocument><w:View>Print</w:View></xml>
        </head><body>';
}
function save($path)
{
    echo "</body></html>";
    $data = ob_get_contents();
    ob_end_clean();
    $this->wirtefile ($path,$data);
}
function wirtefile ($fn,$data)
{
    $fp=fopen($fn,"wb");
    fwrite($fp,$data);
    fclose($fp);
}

(3)利用phpword也可以转为word,如上图phpword的demo,可以参考,但图片下载到本地后要显示,同样只能使用网络地址(IP或域名)

(4)网上有通过html转为mht然后转带图片文本word的实例,以为太长了,所以以后看一下 ε≡٩(๑>₃<)۶ 一心向学

转pdf

(1)HTML-to-PDF:听说这个但是我没试,大家用过的可以指点一二

(2)使用mpdf(麻婆豆腐)扩展(习惯composer):composer require mpdf/mpdf

public function topdf()
    {
        $html = Db::table('diary')->where('id',12)->find();
        $title = '<h1 style="text-align: center;">' . $html['notename'] . '</h1>';
        $content = $html['content'];
        $mpdf  =  new Mpdf();
        $mpdf->autoScriptToLang = true;
        $mpdf->autoLangToFont = true;
        $header='<table width="95%" style="margin:0 auto;border-bottom: 1px solid #4F81BD; vertical-align: middle; font-family:  
serif; font-size: 9pt; color: #000088;"><tr>  
                <td width="10%"></td>  
                <td width="80%" style="font-size:16px;color:#A0A0A0">这是我的页眉</td>  
                <td width="10%" style="text-align: right;"></td>  
                
                </tr></table>';
        $mpdf->SetHTMLHeader($header);  //页眉
//        $mpdf -> WriteHTML(' <h1> Hello world!</h1> ');
        $mpdf -> WriteHTML($title.$content);
        $mpdf->Output();
//        $mpdf -> Output('files/word/one.pdf','D'); //存为文件
    }

欢迎大家指点其中不正确的地方/鞠躬

这里有位仁兄写的比较详细 https://blog.csdn.net/wepe12/article/details/52796348

终于完了……(欢迎多多指教)

阅读原文内容投诉

免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

软考中级精品资料免费领

  • 历年真题答案解析
  • 备考技巧名师总结
  • 高频考点精准押题
  • 2024年上半年信息系统项目管理师第二批次真题及答案解析(完整版)

    难度     813人已做
    查看
  • 【考后总结】2024年5月26日信息系统项目管理师第2批次考情分析

    难度     354人已做
    查看
  • 【考后总结】2024年5月25日信息系统项目管理师第1批次考情分析

    难度     318人已做
    查看
  • 2024年上半年软考高项第一、二批次真题考点汇总(完整版)

    难度     435人已做
    查看
  • 2024年上半年系统架构设计师考试综合知识真题

    难度     224人已做
    查看

相关文章

发现更多好内容

猜你喜欢

AI推送时光机
位置:首页-资讯-后端开发
咦!没有更多了?去看看其它编程学习网 内容吧
首页课程
资料下载
问答资讯