[SiteLog]取消了FCKeditor,添加了Decode功能

用了一段时间的 FCKeditor WYSIWYG 编辑器,觉得并不适合自己使用,说实在的。自己并不喜欢 WYSIWYG 编辑器。而且拖慢显示速度。

当初加入 WYSIWYG 编辑器 的原因只是为了 Decode (编码) HTML 而已。
大家都知道,MT 的底层存储是基于 HTML 的。输入的 HTML 代码会在显示的时候直接显示成真正的 HTML ,这样对要输入一些代码之类的东西很头疼,所以。。。加了 FCKeditor 来自动编码 HTML ,仅此而已。
今天,把后台的标签代码移植到了前台,并且找了段 js 代码,加入了手动 Decode 功能,故而取消了前台评论的 FCKeditor WYSIWYG 编辑器。
反正,MT 崇尚的是 简单。呵呵:)
效果如下:请注意本站评论样式
1160494437.png


代码为


function Decode(e) {
    if (!canFormat) return;
    var str = getSelected(e);

    if (!str) return;
    str = str.replace(new RegExp("&","g"), "&");
    str = str.replace(new RegExp("<","g"), "&lt;");
    str = str.replace(new RegExp(">","g"), "&gt;");

    str = str.replace(new RegExp('"',"g"), "&quot;");
    str = str.replace(new RegExp(' ',"g"), "&nbsp;");
    setSelection(e, str);
    return false;
}

2006/10/10更新:
朋友问在后台添加这个按扭的办法,在评论中回答了。这里也更新下吧:)
首先在 MT 的mt-static文件夹下找到mt.js
在文件里加入上面这段JS代码。
然后打开 MT 安装目录的tmpl/cms/edit_entry.tmpl文件,到其中两处添加按钮的地方,照猫画虎,添加

write('<img title="<MT_TRANS phrase="Decode">"      onclick="return Decode(document.entry_form.text_more)"      src="<TMPL_VAR NAME=STATIC_URI>images/formatting-icons/decode.gif"      alt="<MT_TRANS phrase="Decode">" width="26" height="19" />'); 

注意我加粗的地方,看上下文改成 text或者text_more
即可完成修改。
前台也基本上一样,只是要注意前台<textarea>的id中含有"-",这个在标准js中是无效的,要修改的话,把这个id换个名字:)
PS: 注意到了吧。我上面用的是 <MT_TRANS phrase="Decode"> ,如果你是完美主义者,请在中文包中添加 'Decode' =>'HTML编码' , 的映射。

Enjoy it!