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