皮肉なことにグーグルでさらに多くのことをした後、私はここで答えを見つけました:
フロートの代わりに CKEditor で画像を整列
検索で出てこない理由がよくわかりません。これは確かにうまくいきましたが、幅と高さに関連する行を削除し、'float' css 属性の置換を削除しました。それを除けば、すべて良いです!
更新: これが CKeditor 4 でうまく機能しない場合があり、コードのこの小さなエディションで修正されていることがわかりました。
element.forEach = function(){};
element.writeChildrenHtml = function(){};
参照: http://vibhajadwani.wordpress.com/2011/07/18/how-to-remove-image-style-property-from-ckeditor/
したがって、完全なコード ブロックは次のようになります。
CKEDITOR.on('instanceReady', function( ev )
{
// Ends self closing tags the HTML4 way, like <br>.
// See: https://stackoverflow.com/questions/4466185/ckeditor-align-images-instead-of-float
// Mod added for CKE 4
// See: http://vibhajadwani.wordpress.com/2011/07/18/how-to-remove-image-style-property-from-ckeditor/
ev.editor.dataProcessor.htmlFilter.addRules(
{
elements:
{
$: function( element )
{
// Output dimensions of images as width and height
if( element.name == 'img' )
{
var style = element.attributes.style;
if( style )
{
// Get the width from the style.
var match = /(?:^|\s)width\s*:\s*(\d+)px/i.exec( style ),
width = match && match[ 1 ];
// Get the height from the style.
match = /(?:^|\s)height\s*:\s*(\d+)px/i.exec( style );
var height = match && match[ 1 ];
// Get the float from the style.
match = /(?:^|\s)float\s*:\s*(\w+)/i.exec( style );
var align = match && match[ 1 ];
if( align )
{
element.attributes.align = align;
}
}
element.forEach = function(){};
element.writeChildrenHtml = function(){};
}
return element;
}
}
});
});