这个问题困扰有段时间了。具体是,Drupal 7 中编辑 Story 或 Page时,基本都会用到 Ckeditor 模块,该模块用到了有名的 ckeditor可视化在线编辑工具。 当使用其提供的Paste时,将换行默认转换为 <br>。但是大部分情况下,需要转换为 <p>,虽然在该工具中 Enter 会 <p>.
具体修改方法:
修改文件 sites/all/modules/ckeditor/ckeditor.config.js
在该文件后,增加下面代码:
CKEDITOR.on('instanceReady', function (ev) {
ev.editor.on('paste', function (ev) {
var data = ev.data.dataValue;
data = data.replace(/<br>/g, '</p><p>');
ev.data.dataValue = data;
});
});
然后清理Drupal 缓存和Browser缓存,即可。
续:
当升级到 drupal 7.80后,情况有少许变化。上文中增加的代码需改为:
CKEDITOR.on('instanceReady', function (ev) {
ev.editor.on('paste', function (ev) {
var data = ev.data.dataValue;
data = data.replace(/<br \/>/g, '</p><p>');
ev.data.dataValue = data;
});
});