问题:我将 Drupal 与富编辑器一起使用,富编辑器喜欢通过去除缩进和格式来破坏我的文本。这在桌面编辑器中是不可接受的,但人们似乎可以通过浏览器内的 wyswigs 容忍这一点。
问题:如何关闭此功能。我四处搜索,但尚未发现告诉富编辑器保留我的缩进和文本格式的最佳实践方式。
问题:我将 Drupal 与富编辑器一起使用,富编辑器喜欢通过去除缩进和格式来破坏我的文本。这在桌面编辑器中是不可接受的,但人们似乎可以通过浏览器内的 wyswigs 容忍这一点。
问题:如何关闭此功能。我四处搜索,但尚未发现告诉富编辑器保留我的缩进和文本格式的最佳实践方式。
将此配置添加到 tinymce 初始化脚本
tinymce.init({
protect: [/[\n\f\r\t\v]/g]
});
这可能不是您正在寻找的内容,但 drupal htmlpurifier模块可以整理 HTML 并使您的 HTML 标准兼容。它可能会消除缩进,但它非常有用。
另一个更简单的模块是 htmltidy,不确定它是否可以保留缩进。
发生这种情况的原因是富编辑器实际上是一个 xhtml 编辑器。在 xhtml 中,大多数标签(除了 PRE 标签)默认情况下会将多个空白字符合并到一个空格中。
要在 tinyMCE 中克服这个问题,您需要创建一个样式表,其中包含:
* {white-space: pre;}
并在初始化编辑器时将样式表引用为content_css 。请注意,虽然您将保留您的格式,但由于 HTML 空白处理的性质,它将不再是 WYSIWYG。
另一种选择是将您的代码包装在 PRE 元素中,但在 tinyMCE 中默认没有按钮来执行此操作(或者我相信)。
编辑:
正如 mikl 所提到的,tinyMCE 还有一个用于预格式化的配置选项
TinyMCE prefrerences 中有一个“预格式化”设置(在这种情况下,通过WYSIWYG 模块,但它也存在于 TinyMCE 模块中)。它应该可以解决问题。
设置截图 http://www.quicksnapper.com/files/3603/2949292644A2CF2A72BC21_m.png
一般来说,我一直在为 TinyMCE 寻找相同的答案,即使到 2015 年 5 月,TinyMCE 的作者也考虑将空格剥离为一项功能。它不能被禁用,即使文档表明配置选项会像标签preformatted
一样保留空格。<pre>
我还没有让它工作,或者其他任何东西,我相信文档必须描述一个不再在代码中的特性。
http://community.tinymce.com/forum/viewtopic.php?id=26021
该线程反复表明,所见即所得中的代码是完全重新格式化的公平游戏,而服务器端重新格式化是最好的。没关系,目标是最小化重新格式化,因此服务器端工具对文档结构同样具有破坏性。根据 TinyMCE 开发人员的说法,这是一个 WONTFIX,所以我怀疑这在可预见的未来会发生变化。