将HTML文件加载到ACE Editor PRE Tag中

时间:2013-03-03 14:13:02

标签: javascript php wysiwyg ace-editor

(在服务器上)有一个本地存储的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中的代码

enter image description here

我的问题:虽然我使用过addslashes,但有些字符会导致问题。 是不是有一种方法可以直接向ACE Editor提供文件?

是否有其他此类编辑器可以直接提供文件名来打开?

编辑:已解决!

我没有通过setValue()函数传递文件文本,而是直接在PRE标签

中打印文本
<pre id="editor"><?php echo htmlentities(file_get_contents($input_dir."abc.html")); ?></pre>

有效。

2 个答案:

答案 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")); ?>');

这可行。尚未测试