问题描述
我正在使用 PHPOffice/PHPword 文档下载。当我将内容传递给文档下载时,内容是这样的,
<p>& operation check</p><p> < operation check</p><p> > operation check</p>
我想更改特殊字符和内容,例如,
<p> & operation check</p> <p> < operation check</p> <p> > operation check</p>
我已经完成了;
$textContent = strip_tags($content);
$content = htmlspecialchars($textContent);
上述问题我可以替换特殊字符的html实体,但我删除了html其他标签并传递给文档创建。然后内容样式丢失,因为只发送文本内容。
我已经检查了 PHP - 整洁。但工作不正常。有人可以解释实现上述操作的方法吗。
解决方法
这真的没有意义。在 HTML 中转义字符的全部意义是在添加标签之前进行。像这样:
$content = "<p>" . htmlspecialchars("& operation check") . "</p><p>" . htmlspecialchars("< operation check") . "</p>";
如果您拥有的数据尚未转义,则该数据已损坏,不应使用。您需要回退一步,找出从哪里获取数据以及数据损坏的原因,并在数据损坏之前获取数据。