使用open-WysiWyg编辑器重新编辑文本时出现问题

时间:2011-08-26 10:15:20

标签: wysiwyg innerhtml document.write

我在我的网站上使用openWysiWyg编辑器。这附加到一个文本区域,我可以在其中输入内容,然后将内容保存到某些php文本文件中,其中html标记保持不变。在我的网站上的视图页面中,我直接包含这个php文件,一切正常。

最近我收到了要求重新编辑已提交文本的工具的请求。为此,我使用附加到textarea的相同编辑器,我读取文件的内容并将其传递给textarea as。内容被加载到文本区域,一切都很好,以下问题。 如果我尝试重新编辑“& lt; pankaj& gt; ”之类的内容 - 在编辑器中加载此内容后,它会转换为“< pankaj>< / pankaj> “提交新更改后。 所以我遇到两个问题 - 为什么“& lt; ”会转换为“< ”,为什么会自动完成标记的发生。

我发现编辑器执行了以下步骤:

  1. 在某些字符串中使用textarea.value
  2. 使用document.write()将该值复制到texarea的div中,该div本身就是一个iframe。
  3. 提交后,需要object.innerHTML获取内容,然后将其保存到磁盘
  4. 上述问题不适用于文字 - “ i& lt; 5 ”。

1 个答案:

答案 0 :(得分:0)

  

为什么“& lt;”正在转换为'<'

编辑器正在禁用转义字符&lt;并将其替换为文字<

  

为什么会发生标签的自动完成。

编辑器正在将未转义标签转换为有效的XHTML

  

上述问题不会发生在文本中 - “i&amp; lt; 5”。

这是一个数字比较,而不是标记