PHPWord使用过程BUG记录

来源:互联网 发布:淘宝晚上收货时间 编辑:程序博客网 时间:2024/04/30 08:07

记录名称:PHPWord内容为'<'时导致word打开失败错误

记录时间:2017年9月22日

记录人:Underdogs

使用环境:ThinkPHP引入PHPWord类库

摘要:

在使用PHPword库生成word过程中,遇到几次word不能打开情况,查看原因为<之后的内容未能写入word文档中,故进行测试,需求解决办法。

测试代码:

public function cword(){vendor('PHPWord.src.PhpWord.PhpWord');$phpWord = new \PhpOffice\PhpWord\PhpWord();$phpWord->setdefaultunit('字符');$headerflag = false;//是否设置了页眉、页脚$footflag = false;$section = $phpWord->createSection();$sectionStyle = $section->getStyle();$textRun = $section->addTextRun(array('indentation'=>array('firstLine'=>2000)));$textRun->addText(' ',array('size'=>20));$textRun = $section->addTextRun();                $word = '<';$textRun->addText($word,array('size'=>30));$phpWord->save('test.docx','Word2007',false);}
以上代码中$word为写入word中的内容,打开word显示非法名称字符错误。

解决办法:

将$word = htmlspecialchars($word);进行转义,即可解决。

原创粉丝点击