(在服务器上)有一个本地存储的HTML文件,我需要向用户显示该文件,并允许用户对其进行更改并保存。 (像wordpress中的模板文件编辑器)。
为此我使用的是ACE编辑器。
我的javascript代码:
$(document).ready(function() {
var editor = ace.edit("editor");
editor.getSession().setMode("ace/mode/html");
editor.setTheme("ace/theme/chrome");
editor.setValue("<?php echo addslashes(file_get_contents("abc.html")); ?>");
editor.gotoLine(1);
});
文件abc.html中的代码
我的问题:虽然我使用过addslashes,但有些字符会导致问题。 是不是有一种方法可以直接向ACE Editor提供文件?
是否有其他此类编辑器可以直接提供文件名来打开?
编辑:已解决!
我没有通过setValue()函数传递文件文本,而是直接在PRE标签
中打印文本<pre id="editor"><?php echo htmlentities(file_get_contents($input_dir."abc.html")); ?></pre>
有效。
答案 0 :(得分:1)
正确的逃避是
htmlspecialchars(addslashes(file_get_contents("abc.html")));
答案 1 :(得分:0)
editor.setValue("<?php echo addslashes(file_get_contents("abc.html")); ?>");
错了。 abc.html是PHP代码之外的。语法错误
editor.setValue('<?php echo addslashes(file_get_contents("abc.html")); ?>');
这可行。尚未测试