如何将 HTML 内容和特殊字符转换为 Html 实体

问题描述

我正在使用 PHPOffice/PHPword 文档下载。当我将内容传递给文档下载时,内容是这样的,

<p>& operation check</p><p> < operation check</p><p> > operation check</p>

我想更改特殊字符和内容,例如,

<p> &amp; operation check</p> <p> &lt; operation check</p> <p> &gt; 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>";

如果您拥有的数据尚未转义,则该数据已损坏,不应使用。您需要回退一步,找出从哪里获取数据以及数据损坏的原因,并在数据损坏之前获取数据。