| [ Index ] | PHP Cross Reference of Mambo 4.6.5 |
|
| [ Variables ] [ Functions ] [ Classes ] [ Constants ] [ Statistics ] | ||
[Summary view] [Print] [Text view]
1 /** 2 * $Id: editor_plugin_src.js 201 2007-02-12 15:56:56Z spocke $ 3 * 4 * @author Moxiecode 5 * @copyright Copyright © 2004-2008, Moxiecode Systems AB, All rights reserved. 6 */ 7 8 (function() { 9 tinymce.create('tinymce.plugins.BBCodePlugin', { 10 init : function(ed, url) { 11 var t = this, dialect = ed.getParam('bbcode_dialect', 'punbb').toLowerCase(); 12 13 ed.onBeforeSetContent.add(function(ed, o) { 14 o.content = t['_' + dialect + '_bbcode2html'](o.content); 15 }); 16 17 ed.onPostProcess.add(function(ed, o) { 18 if (o.set) 19 o.content = t['_' + dialect + '_bbcode2html'](o.content); 20 21 if (o.get) 22 o.content = t['_' + dialect + '_html2bbcode'](o.content); 23 }); 24 }, 25 26 getInfo : function() { 27 return { 28 longname : 'BBCode Plugin', 29 author : 'Moxiecode Systems AB', 30 authorurl : 'http://tinymce.moxiecode.com', 31 infourl : 'http://wiki.moxiecode.com/index.php/TinyMCE:Plugins/bbcode', 32 version : tinymce.majorVersion + "." + tinymce.minorVersion 33 }; 34 }, 35 36 // Private methods 37 38 // HTML -> BBCode in PunBB dialect 39 _punbb_html2bbcode : function(s) { 40 s = tinymce.trim(s); 41 42 function rep(re, str) { 43 s = s.replace(re, str); 44 }; 45 46 // example: <strong> to [b] 47 rep(/<a.*?href=\"(.*?)\".*?>(.*?)<\/a>/gi,"[url=$1]$2[/url]"); 48 rep(/<font.*?color=\"(.*?)\".*?class=\"codeStyle\".*?>(.*?)<\/font>/gi,"[code][color=$1]$2[/color][/code]"); 49 rep(/<font.*?color=\"(.*?)\".*?class=\"quoteStyle\".*?>(.*?)<\/font>/gi,"[quote][color=$1]$2[/color][/quote]"); 50 rep(/<font.*?class=\"codeStyle\".*?color=\"(.*?)\".*?>(.*?)<\/font>/gi,"[code][color=$1]$2[/color][/code]"); 51 rep(/<font.*?class=\"quoteStyle\".*?color=\"(.*?)\".*?>(.*?)<\/font>/gi,"[quote][color=$1]$2[/color][/quote]"); 52 rep(/<span style=\"color: ?(.*?);\">(.*?)<\/span>/gi,"[color=$1]$2[/color]"); 53 rep(/<font.*?color=\"(.*?)\".*?>(.*?)<\/font>/gi,"[color=$1]$2[/color]"); 54 rep(/<span style=\"font-size:(.*?);\">(.*?)<\/span>/gi,"[size=$1]$2[/size]"); 55 rep(/<font>(.*?)<\/font>/gi,"$1"); 56 rep(/<img.*?src=\"(.*?)\".*?\/>/gi,"[img]$1[/img]"); 57 rep(/<span class=\"codeStyle\">(.*?)<\/span>/gi,"[code]$1[/code]"); 58 rep(/<span class=\"quoteStyle\">(.*?)<\/span>/gi,"[quote]$1[/quote]"); 59 rep(/<strong class=\"codeStyle\">(.*?)<\/strong>/gi,"[code][b]$1[/b][/code]"); 60 rep(/<strong class=\"quoteStyle\">(.*?)<\/strong>/gi,"[quote][b]$1[/b][/quote]"); 61 rep(/<em class=\"codeStyle\">(.*?)<\/em>/gi,"[code][i]$1[/i][/code]"); 62 rep(/<em class=\"quoteStyle\">(.*?)<\/em>/gi,"[quote][i]$1[/i][/quote]"); 63 rep(/<u class=\"codeStyle\">(.*?)<\/u>/gi,"[code][u]$1[/u][/code]"); 64 rep(/<u class=\"quoteStyle\">(.*?)<\/u>/gi,"[quote][u]$1[/u][/quote]"); 65 rep(/<\/(strong|b)>/gi,"[/b]"); 66 rep(/<(strong|b)>/gi,"[b]"); 67 rep(/<\/(em|i)>/gi,"[/i]"); 68 rep(/<(em|i)>/gi,"[i]"); 69 rep(/<\/u>/gi,"[/u]"); 70 rep(/<span style=\"text-decoration: ?underline;\">(.*?)<\/span>/gi,"[u]$1[/u]"); 71 rep(/<u>/gi,"[u]"); 72 rep(/<br \/>/gi,"\n"); 73 rep(/<br\/>/gi,"\n"); 74 rep(/<br>/gi,"\n"); 75 rep(/<p>/gi,""); 76 rep(/<\/p>/gi,"\n"); 77 rep(/ /gi," "); 78 rep(/"/gi,"\""); 79 rep(/</gi,"<"); 80 rep(/>/gi,">"); 81 rep(/&/gi,"&"); 82 83 return s; 84 }, 85 86 // BBCode -> HTML from PunBB dialect 87 _punbb_bbcode2html : function(s) { 88 s = tinymce.trim(s); 89 90 function rep(re, str) { 91 s = s.replace(re, str); 92 }; 93 94 // example: [b] to <strong> 95 rep(/\n/gi,"<br />"); 96 rep(/\[b\]/gi,"<strong>"); 97 rep(/\[\/b\]/gi,"</strong>"); 98 rep(/\[i\]/gi,"<em>"); 99 rep(/\[\/i\]/gi,"</em>"); 100 rep(/\[u\]/gi,"<u>"); 101 rep(/\[\/u\]/gi,"</u>"); 102 rep(/\[url=([^\]]+)\](.*?)\[\/url\]/gi,"<a href=\"$1\">$2</a>"); 103 rep(/\[url\](.*?)\[\/url\]/gi,"<a href=\"$1\">$1</a>"); 104 rep(/\[img\](.*?)\[\/img\]/gi,"<img src=\"$1\" />"); 105 rep(/\[color=(.*?)\](.*?)\[\/color\]/gi,"<font color=\"$1\">$2</font>"); 106 rep(/\[code\](.*?)\[\/code\]/gi,"<span class=\"codeStyle\">$1</span> "); 107 rep(/\[quote.*?\](.*?)\[\/quote\]/gi,"<span class=\"quoteStyle\">$1</span> "); 108 109 return s; 110 } 111 }); 112 113 // Register plugin 114 tinymce.PluginManager.add('bbcode', tinymce.plugins.BBCodePlugin); 115 })();
title
Description
Body
title
Description
Body
title
Description
Body
title
Body
| Generated: Wed May 23 00:05:01 2012 | Cross-referenced by PHPXref 0.7 |
| Mambo API: Mambo is Free software released under the GNU/General Public License, Version 2 |