我正在编写一个小型模板编辑器,我遇到的问题是代码不断转换为其他字符,例如:
<?php
$hello = "hello";
?>
并将其准确写入文件,我想编写实际代码,php 和 html。
我怎样才能做到这一点?
在这种特定情况下,您应该通过html_entity_decode
函数运行文件的内容。
文档中的描述-
将特殊字符转换为 HTML 实体
$str = '<?php';
echo html_entity_decode($str);
输出 -<?php
您的问题是您的 PHP 正在调用htmlspecialchars()
. 这会将可能存在问题的字符(例如<>
)转换为其 HTML 安全版本。您可以通过删除htmlspecialchars()
函数(不推荐,因为它可能是有原因的)或调用html_entity_decode()
要保存到文件的代码来解决此问题。
我不一定推荐使用 html_entity_decode。仅通过反转编码来修复错误编码的文本通常是一个坏主意。相反,首先要弄清楚为什么它的编码不正确。