PHP8.1.21版本已发布
vue8.1.21版本已发布
jquery8.1.21版本已发布

php 富文本怎么转 html

藏色散人
藏色散人 原创
2021-11-16 09:34:02 2460浏览

php富文本转html的方法:1、打开相应的代码文件并修改图片路径;2、利用phpword转为html,代码如“$phpword  =  new  \ phpoffice \ phpword \ phpword...”

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

php 富文本怎么转 html?

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

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

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

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

1、转html

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

1824166d92d1be8b21de57b1ccba1d2.png

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

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

phpword(composer):composer require phpoffice/phpword

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

2、转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 = &#39;pppp&#39;;
$wordname = &#39;files/word/&#39;.$newname.".doc";//生成文件路径
echo $wors;
$this->save($wordname);
ob_flush();//每次执行前刷新缓存
flush();
function start()
{
    ob_start();
    echo &#39;<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>&#39;;
}
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的实例,以为太长了,所以以后看一下       ε≡٩(๑>₃

3、转pdf

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

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

public function topdf()
    {
        $html = Db::table(&#39;diary&#39;)->where(&#39;id&#39;,12)->find();
        $title = &#39;<h1 style="text-align: center;">&#39; . $html[&#39;notename&#39;] . &#39;</h1>&#39;;
        $content = $html[&#39;content&#39;];
        $mpdf  =  new Mpdf();
        $mpdf->autoScriptToLang = true;
        $mpdf->autoLangToFont = true;
        $header=&#39;<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>&#39;;
        $mpdf->SetHTMLHeader($header);  //页眉
//        $mpdf -> WriteHTML(&#39; <h1> Hello world!</h1> &#39;);
        $mpdf -> WriteHTML($title.$content);
        $mpdf->Output();
//        $mpdf -> Output(&#39;files/word/one.pdf&#39;,&#39;D&#39;); //存为文件
    }

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

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

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

推荐学习:《PHP视频教程

声明:本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn核实处理。