我尝试过很多事情:
entity_encoding : "raw", "names" or "numeric"
没有帮助。
preformatted : false
verify_html : false
apply_source_formatting : false
entities : "160,nbsp,38,amp,34,quot,162,cent,8364,euro,163....
cleanup: flase did not help neither.
我希望<a href="url">
成为html代码中的<a href="url">
。
我知道W3C不是有效的,我也知道微小的mce可能不是最好的方式,我只是问有人知道怎么做。
我必须使用正则表达式吗?替换?我应该使用什么样的合成器?
答案 0 :(得分:2)
这不是很好,但在你的init中,试试:
tinymce.EditorManager.init({
preformatted : false
verify_html : false,
onchange_callback : function(inst){
var $inst = $('#'+inst.id);
$inst.val($inst.val().replace('"','"'));
},
});
或
tinymce.EditorManager.init({
preformatted : false
verify_html : false,
onchange_callback : function(inst){
inst.setContent(inst.getContent({format : 'raw'}).replace('"','"'), {format : 'raw'});
},
});
答案 1 :(得分:0)
Tiny.Editor = function(config) {
config = config || {};
config.tinyConfig = config.tinyConfig || Tiny.config;
config.tinyConfig = config.tinyConfig || {};
Ext.applyIf(config.tinyConfig,{
setup: (function(ed) {
ed.onInit.add(this.onLoad);
ed.onKeyUp.add(this.onChange);
}).createDelegate(this)
,apply_source_formatting: false
,browserUrl: MODx.config.manager_url+'?a='+MODx.action['browser']
,button_tile_map: false
,cleanup: false
,verify_html : false
,compressor: ''
,convert_fonts_to_spans: true
,convert_newlines_to_brs: false
,element_format: 'xhtml'
,element_list: ''
,entities: '60,nbsp,161,iexcl,162,cent,163,pound,164,curren,165,yen,166,brvbar,167,sect,168,uml,169,copy,170,ordf,'
+ '171,laquo,172,not,173,shy,174,reg,175,macr,176,deg,177,plusmn,178,sup2,179,sup3,180,acute,181,micro,182,para,'
+ '183,middot,184,cedil,185,sup1,186,ordm,187,raquo,188,frac14,189,frac12,190,frac34,191,iquest,192,Agrave,193,Aacute,'
+ '194,Acirc,195,Atilde,196,Auml,197,Aring,198,AElig,199,Ccedil,200,Egrave,201,Eacute,202,Ecirc,203,Euml,204,Igrave,'
+ '205,Iacute,206,Icirc,207,Iuml,208,ETH,209,Ntilde,210,Ograve,211,Oacute,212,Ocirc,213,Otilde,214,Ouml,215,times,'
+ '216,Oslash,217,Ugrave,218,Uacute,219,Ucirc,220,Uuml,221,Yacute,222,THORN,223,szlig,224,agrave,225,aacute,226,acirc,'
+ '227,atilde,228,auml,229,aring,230,aelig,231,ccedil,232,egrave,233,eacute,234,ecirc,235,euml,236,igrave,237,iacute,'
+ '238,icirc,239,iuml,240,eth,241,ntilde,242,ograve,243,oacute,244,ocirc,245,otilde,246,ouml,247,divide,248,oslash,'
+ '249,ugrave,250,uacute,251,ucirc,252,uuml,253,yacute,254,thorn,255,yuml,402,fnof,913,Alpha,914,Beta,915,Gamma,916,Delta,'
+ '917,Epsilon,918,Zeta,919,Eta,920,Theta,921,Iota,922,Kappa,923,Lambda,924,Mu,925,Nu,926,Xi,927,Omicron,928,Pi,929,Rho,'
+ '931,Sigma,932,Tau,933,Upsilon,934,Phi,935,Chi,936,Psi,937,Omega,945,alpha,946,beta,947,gamma,948,delta,949,epsilon,'
+ '950,zeta,951,eta,952,theta,953,iota,954,kappa,955,lambda,956,mu,957,nu,958,xi,959,omicron,960,pi,961,rho,962,sigmaf,'
+ '963,sigma,964,tau,965,upsilon,966,phi,967,chi,968,psi,969,omega,977,thetasym,978,upsih,982,piv,8226,bull,8230,hellip,'
+ '8242,prime,8243,Prime,8254,oline,8260,frasl,8472,weierp,8465,image,8476,real,8482,trade,8501,alefsym,8592,larr,8593,uarr,'
+ '8594,rarr,8595,darr,8596,harr,8629,crarr,8656,lArr,8657,uArr,8658,rArr,8659,dArr,8660,hArr,8704,forall,8706,part,8707,exist,'
+ '8709,empty,8711,nabla,8712,isin,8713,notin,8715,ni,8719,prod,8721,sum,8722,minus,8727,lowast,8730,radic,8733,prop,8734,infin,'
+ '8736,ang,8743,and,8744,or,8745,cap,8746,cup,8747,int,8756,there4,8764,sim,8773,cong,8776,asymp,8800,ne,8801,equiv,8804,le,8805,ge,'
+ '8834,sub,8835,sup,8836,nsub,8838,sube,8839,supe,8853,oplus,8855,otimes,8869,perp,8901,sdot,8968,lceil,8969,rceil,8970,lfloor,'
+ '8971,rfloor,9001,lang,9002,rang,9674,loz,9824,spades,9827,clubs,9829,hearts,9830,diams,338,OElig,339,oelig,352,Scaron,353,scaron,'
+ '376,Yuml,710,circ,732,tilde,8194,ensp,8195,emsp,8201,thinsp,8204,zwnj,8205,zwj,8206,lrm,8207,rlm,8211,ndash,8212,mdash,8216,lsquo,'
+ '8217,rsquo,8218,sbquo,8220,ldquo,8221,rdquo,8222,bdquo,8224,dagger,8225,Dagger,8240,permil,8249,lsaquo,8250,rsaquo,8364,euro'
,entity_encoding: 'named'
,file_browser_callback: 'Tiny.loadBrowser'
,formats: 'p,h1,h2,h3,h4,h5,h6,div,blockquote,code,pre,address'
,frontend: false
,height: '400px'
,invalid_elements: ''
,language: MODx.config['manager_language']
,mode: 'none'
,nowrap: false
,path: Tiny.config.assets_path
,path_options: ''
,plugin_insertdate_dateFormat: '%Y-%m-%d'
,plugin_insertdate_timeFormat: '%H:%M:%S'
,relative_urls: true
,remove_line_breaks: false
,resource_browser_path: Tiny.config.manager_url+'controllers/browser/index.php?'
,width: '90%'
,buttons1: MODx.config['tiny.custom_buttons1']
,buttons2: MODx.config['tiny.custom_buttons2']
,buttons3: MODx.config['tiny.custom_buttons3']
,buttons4: MODx.config['tiny.custom_buttons4']
,css_path: MODx.config['editor_css_path'] || ''
,css_selectors: MODx.config['tinymce.css_selectors']
,plugins: MODx.config['tiny.custom_plugins']
,theme: MODx.config['tiny.editor_theme'] || 'advanced'
,theme_advanced_buttons1: MODx.config['tiny.custom_buttons1']
,theme_advanced_buttons2: MODx.config['tiny.custom_buttons2']
,theme_advanced_buttons3: MODx.config['tiny.custom_buttons3']
,theme_advanced_buttons4: MODx.config['tiny.custom_buttons4']
,theme_advanced_blockformats: MODx.config['tiny.blockformats']
,theme_advanced_resizing: false
,theme_advanced_resize_horizontal: false
,theme_advanced_statusbar_location: 'bottom'
,theme_advanced_toolbar_align: 'left'
,theme_advanced_disable: ''
,theme_advanced_toolbar_location: 'top'
,toolbar_align: MODx.config['manager_direction'] || 'rtl'
,use_browser: MODx.config['use_browser'] || true
,skin: MODx.config['tiny.skin']
,skin_variant: MODx.config['tiny.skin_variant']
,object_resizing: MODx.config['tiny.object_resizing'] || true
,table_inline_editing: MODx.config['tiny.table_inline_editing'] || true
,template_selected_content_classes: MODx.config['tiny.template_selected_content_classes']
});
Ext.applyIf(config,{
width: '90%'
});
Tiny.Editor.superclass.constructor.call(this,config);
this.config = config;
this.addEvents({
'load': true
,'ajaxload': true
});
this.on('render',this.onTinyRender,this);
this.on('ajaxload',this.onAjaxLoad,this);
};
Ext.extend(Tiny.Editor,Ext.form.TextArea,{
editor: null
,getTinyId: function() {
return this.getEl().dom.id;
}
,setValue: function(v) {
var c = tinyMCE.get(this.getTinyId());
if (c) c.setContent(v);
}
,onTinyRender: function() {
var oid = Ext.get(this.getTinyId());
if (!oid) return;
var s = this.config.tinyConfig;
s.mode = 'exact';
tinyMCE.init(s);
tinyMCE.execCommand('mceAddControl', false,this.getTinyId());
this.fireEvent('load');
}
,onChange: function() {}
,onLoad: function(ed) {
return false;
var el = Ext.get(ed.id+'_ifr');
new MODx.load({
xtype: 'modx-treedrop'
,target: el
,targetEl: el.dom
,iframe: true
,iframeEl: 'tinymce'
,onInsert: function(v) {
tinyMCE.execCommand('mceInsertContent',false,v);
}
});
}
,onAjaxLoad: function() {
var els = Ext.query('.modx-richtext');
Ext.each(els,function(el,i) {
el = Ext.get(el);
tinyMCE.execCommand('mceAddControl', false, el.dom.id);
},this);
this.fireEvent('ajaxload');
}
,toggle: function(e,t) {
t = t.id.replace(/-toggle/,'');
ed = tinyMCE.get(t);
if (ed) {
ed.isHidden() ? ed.show() : ed.hide();
}
}
,loadBrowser: function(fld, url, type, win) {
tinyMCE.activeEditor.windowManager.open({
file: this.config.browserUrl || Tiny.config.browserUrl
,width: screen.width * 0.7
,height: screen.height * 0.7
,resizable: 'yes'
,inline: 'yes'
,close_previous: 'no'
},{
window: win
,input: fld
});
return false;
}
});
Ext.reg('tinymce',Tiny.Editor);