简介与入门 \ 内容过滤
此页更新时间:2019-02-20 23:04
此页英文文档:https://www.tiny.cloud/docs/general-configuration-guide/filter-content/
此处的内容指的是TinyMCE所处理的源代码。TinyMCE内建全面且强大的过滤功能,可以操纵编辑器对源码的输出结果。
改变格式工具的默认行为
TinyMCE提供给开发人员接口,能够覆盖格式工具的默认行为,将自定义行为添加到源码中输出。
当用户单击编辑器中粗体按钮时,编辑器会按默认操作应用文本样式——也就是加粗,TinyMCE内建一个文本格式化引擎,它允许你去指定该触发行为进行什么操作。例如,你可以定义粗体按钮被单击的行为是文字变红而不是加粗。
内置格式
TinyMCE允许重写的内置格式,如下表所示:
- alignleft
- aligncenter
- alignright
- alignjustify
- bold
- italic
- underline
- strikethrough
- forecolor
- hilitecolor
- fontname
- fontsize
- blockquote
- removeformat
- p
- h1, h2, h3, h4, h5, h6
- div
- address
- pre
- div
- code
- dt, dd
- samp
一些内置格式fontsize、fontname、forecolor、hilitecolor,它们的值使用变量%value代替。此变量将替换为用户选择的值。
你一定会觉得这是在说神马,我怎么完全看不懂!我刚读这部分文档的时候也是云里雾里,直到看完才明白官方要表达神马,所以,我在这里插入个例子,亲自试一下就明白了。
tinymce.init({
selector: '#tinydemo',
plugins:'code',
toolbar:'undo redo forecolor bold italic | alignleft aligncenter alignright | code',
formats: {
alignright: {selector : 'p,h1,h2,h3,h4,h5,h6,td,th,div,ul,ol,li,table,img', classes : 'right'},
bold: {inline:'span', styles:{color:'#f00'} },
forecolor: {inline : 'span', styles : {color:'%value',fontWeight:'700'} },
custom_format: {block : 'h1', attributes : {title:'Header'}, styles : {color:'red'} }
}
});
内置格式的参数
看完例子,再理解下面这些参数就容易很多了。
名称 | 说明 |
inline | 包裹选中文本的内联元素名称,比如span,加粗改变颜色默认都在外围插个span,然后再加个style="" |
block | 指定一个块元素,如h1,当前焦点外围的块元素将被其替换。比如焦点在p标签内,当你使用格式工具指定为“标题1”时,p将会替换成h1。 |
selector | 利用CSS3选择器中所选则内容的查找匹配的内容(如表中的奇数行)。 |
classes | 值为以空格分隔的class列表,如:class1 class2。简单说就是给选中的块加自定义class,如上例的右对齐。 |
styles | 值为包含名称/值的一个对象。将自定义css样式置入到选中内容中,如上例的加粗和颜色。 |
attributes | 值为包含名称/值的一个对象。给html标签添加自定义属性。 |
exact | 可设值为:true,此选项将禁用样式合并功能,用于解决一些css继承问题,例如下划线、删除线。默认为false。 |
wrapper | 指定当前格式是块元素,例如div或blockquote。 |
schema:照顾老旧浏览器
该选项可指定生成的代码是html4还是html5标准。
该值默认是html5,可选值还有:html4、html5-strict。
html5模式是完整的HTML5规范,它兼容旧的HTML4。html5-strict是HTML5的严格模式,它只允许HTML5规范的元素,不包括已经被移除标准的元素。html4模式则是包括完整的HTML4过渡规范。在需要兼容老旧浏览器时,可能会用到该选项。
更多强大的过滤方式,可参考:生成代码配置
下一节是本地化(汉化)