如何使 PHPWord 的字符更安全

How to make characters safer for PHPWord

我运行用PHPWord库进行如下转换:

$section = $document->addSection();
$output = mb_substr(strip_tags($page['content'][0]['settings']['text']),0,1760);
$section->addText($output);

使用 1760 个字符可以在 word 文档中得到很好的输出,而使用 1761 个字符可以得到一个空白页面。额外的字符是一个&符号——该字符在我的字符串中的第一次使用。

除了对每个发现有问题的字符调用 str_replace 来进行重击之外,是否有一种简单的方法可以使该字符对 PHPWord 安全?

您可以为此使用 htmlspecialchars 函数(所有库示例中也一致使用的函数):

$section = $document->addSection();
$output = htmlspecialchars(strip_tags($page['content'][0]['settings']['text']), ENT_COMPAT, 'UTF-8');
$section->addText($output);