Php 如何让CKeditor从Hspace和Vspace切换到正确的CSS

Php 如何让CKeditor从Hspace和Vspace切换到正确的CSS,php,javascript,ruby-on-rails,wysiwyg,ckeditor,Php,Javascript,Ruby On Rails,Wysiwyg,Ckeditor,我正在与CKeditor合作,出于任何原因,他们在UI中包括了Hspace和Vspace。方便的想法,允许用户像这样操纵他们的图像,但这些都是不赞成的方式 是否有人将CKeditor的Hspace和Vspace转换为CSS,并知道如何解释其转换 我是一个javascript新手。hspace和vspace是以像素为单位的边距。转换应该是直接、直接和简单的 您希望在哪里进行更正?我对CKEditor的来源一无所知,因此我提出了三个选择 选项1:在提交时用正确的CSS替换hspace和vspace属

我正在与CKeditor合作,出于任何原因,他们在UI中包括了Hspace和Vspace。方便的想法,允许用户像这样操纵他们的图像,但这些都是不赞成的方式

是否有人将CKeditor的Hspace和Vspace转换为CSS,并知道如何解释其转换


我是一个javascript新手。

hspace
vspace
是以像素为单位的边距。转换应该是直接、直接和简单的

您希望在哪里进行更正?我对CKEditor的来源一无所知,因此我提出了三个选择

选项1:在提交时用正确的CSS替换
hspace
vspace
属性。这可能会影响以后的可编辑性

选项2:在渲染时用正确的CSS替换
hspace
vspace
属性。如果使用正确的方法(HTML解析器),这可能会很慢

选项3:在渲染时在客户端用正确的CSS替换
hspace
vspace
属性。这在jQuery、Prototype、Mootools或您正在使用的任何库中都应该是微不足道的


jQuery去营救!像这样的东西可能有用

$('img[hspace]').each(function(el){
    var pixels = parseInt($(el).attr('hspace'));
    if(isNaN(pixels) || pixels < 1)
        pixels = 0;
    else
        pixels = pixels / 2
    $(el).css('marginLeft', pixels + 'px')
         .css('marginRight', pixels + 'px')
         .removeAttr('hspace');
});

$('img[vspace]').each(function(el){
    var pixels = parseInt($(el).attr('vspace'));
    if(isNaN(pixels) || pixels < 1)
        pixels = 0;
    else
        pixels = pixels / 2
    $(el).css('marginTop', pixels + 'px')
         .css('marginBottom', pixels + 'px')
         .removeAttr('vspace');
});
$('img[hspace]')。每个(函数(el){
var pixels=parseInt($(el).attr('hspace');
如果(isNaN(像素)| |像素<1)
像素=0;
其他的
像素=像素/2
$(el).css('marginLeft',像素+'px')
.css('marginRight',像素+'px')
.removeAttr('hspace');
});
$('img[vspace]')。每个(函数(el){
var pixels=parseInt($(el).attr('vspace');
如果(isNaN(像素)| |像素<1)
像素=0;
其他的
像素=像素/2
$(el.css('marginTop',像素+'px'))
.css('marginBottom',像素+'px')
.removeAttr('vspace');
});

hspace
vspace
是以像素为单位的边距。转换应该是直接、直接和简单的

您希望在哪里进行更正?我对CKEditor的来源一无所知,因此我提出了三个选择

选项1:在提交时用正确的CSS替换
hspace
vspace
属性。这可能会影响以后的可编辑性

选项2:在渲染时用正确的CSS替换
hspace
vspace
属性。如果使用正确的方法(HTML解析器),这可能会很慢

选项3:在渲染时在客户端用正确的CSS替换
hspace
vspace
属性。这在jQuery、Prototype、Mootools或您正在使用的任何库中都应该是微不足道的


jQuery去营救!像这样的东西可能有用

$('img[hspace]').each(function(el){
    var pixels = parseInt($(el).attr('hspace'));
    if(isNaN(pixels) || pixels < 1)
        pixels = 0;
    else
        pixels = pixels / 2
    $(el).css('marginLeft', pixels + 'px')
         .css('marginRight', pixels + 'px')
         .removeAttr('hspace');
});

$('img[vspace]').each(function(el){
    var pixels = parseInt($(el).attr('vspace'));
    if(isNaN(pixels) || pixels < 1)
        pixels = 0;
    else
        pixels = pixels / 2
    $(el).css('marginTop', pixels + 'px')
         .css('marginBottom', pixels + 'px')
         .removeAttr('vspace');
});
$('img[hspace]')。每个(函数(el){
var pixels=parseInt($(el).attr('hspace');
如果(isNaN(像素)| |像素<1)
像素=0;
其他的
像素=像素/2
$(el).css('marginLeft',像素+'px')
.css('marginRight',像素+'px')
.removeAttr('hspace');
});
$('img[vspace]')。每个(函数(el){
var pixels=parseInt($(el).attr('vspace');
如果(isNaN(像素)| |像素<1)
像素=0;
其他的
像素=像素/2
$(el.css('marginTop',像素+'px'))
.css('marginBottom',像素+'px')
.removeAttr('vspace');
});

您使用的是什么版本的CKEditor? 加载并查看该图像的生成源:
style=“左侧边距:10px;右侧边距:10px;浮动:左侧;宽度:120px;高度:168px;”因此您无需执行任何操作。

您使用的是什么版本的CKEditor? 加载并查看该图像的生成源:
style=“左侧边距:10px;右侧边距:10px;浮动:左侧;宽度:120px;高度:168px;”因此您无需执行任何操作。

右侧,1和2对于CKeditor来说似乎很神奇。他们的代码乱七八糟。第三个是伟大的,但不是微不足道的。我无法想象在jquery中,如果没有regex@Trip:Regex?你不需要steenking regex!更新了一些jQuery的魔法,这些魔法完全没有经过测试,但应该可以工作。选择某人作为上帝的按钮在哪里?我上下查看了stackoverflow,如果我删除了loop语句,它就不能在一个元素上工作。但随着它,一些东西破碎了。哈哈,你是我最好的朋友。嗯,正如我所说,这是未经测试的。如果你不能弄明白,请发布一个后续问题,有很多向导可以帮助你。对了,1和2对CKeditor来说似乎很神奇。他们的代码乱七八糟。第三个是伟大的,但不是微不足道的。我无法想象在jquery中,如果没有regex@Trip:Regex?你不需要steenking regex!更新了一些jQuery的魔法,这些魔法完全没有经过测试,但应该可以工作。选择某人作为上帝的按钮在哪里?我上下查看了stackoverflow,如果我删除了loop语句,它就不能在一个元素上工作。但随着它,一些东西破碎了。哈哈,你是我最好的朋友。嗯,正如我所说,这是未经测试的。如果你想不出答案,请发一个后续问题,有很多向导可以帮助你。很有趣。。我几个月前刚收到这个,看起来他们从那以后就没有更新过。谢谢你的信息。很有趣。。我几个月前刚收到这个,看起来他们从那以后就没有更新过。谢谢你的信息。