| 1 |
- (function(){tinymce.create("tinymce.plugins.BBCodePlugin",{init:function(o){var e=this,t=o.getParam("bbcode_dialect","punbb").toLowerCase();o.on("beforeSetContent",function(o){o.content=e["_"+t+"_bbcode2html"](o.content)});o.on("postProcess",function(o){if(o.set){o.content=e["_"+t+"_bbcode2html"](o.content)}if(o.get){o.content=e["_"+t+"_html2bbcode"](o.content)}})},getInfo:function(){return{longname:"BBCode Plugin",author:"Moxiecode Systems AB",authorurl:"http://www.tinymce.com",infourl:"http://www.tinymce.com/wiki.php/Plugin:bbcode"}},_punbb_html2bbcode:function(o){o=tinymce.trim(o);function e(e,t){o=o.replace(e,t)}e(/<a.*?href=\"(.*?)\".*?>(.*?)<\/a>/gi,"[url=$1]$2[/url]");e(/<font.*?color=\"(.*?)\".*?class=\"codeStyle\".*?>(.*?)<\/font>/gi,"[code][color=$1]$2[/color][/code]");e(/<font.*?color=\"(.*?)\".*?class=\"quoteStyle\".*?>(.*?)<\/font>/gi,"[quote][color=$1]$2[/color][/quote]");e(/<font.*?class=\"codeStyle\".*?color=\"(.*?)\".*?>(.*?)<\/font>/gi,"[code][color=$1]$2[/color][/code]");e(/<font.*?class=\"quoteStyle\".*?color=\"(.*?)\".*?>(.*?)<\/font>/gi,"[quote][color=$1]$2[/color][/quote]");e(/<span style=\"color: ?(.*?);\">(.*?)<\/span>/gi,"[color=$1]$2[/color]");e(/<font.*?color=\"(.*?)\".*?>(.*?)<\/font>/gi,"[color=$1]$2[/color]");e(/<span style=\"font-size:(.*?);\">(.*?)<\/span>/gi,"[size=$1]$2[/size]");e(/<font>(.*?)<\/font>/gi,"$1");e(/<img.*?src=\"(.*?)\".*?\/>/gi,"[img]$1[/img]");e(/<span class=\"codeStyle\">(.*?)<\/span>/gi,"[code]$1[/code]");e(/<span class=\"quoteStyle\">(.*?)<\/span>/gi,"[quote]$1[/quote]");e(/<strong class=\"codeStyle\">(.*?)<\/strong>/gi,"[code][b]$1[/b][/code]");e(/<strong class=\"quoteStyle\">(.*?)<\/strong>/gi,"[quote][b]$1[/b][/quote]");e(/<em class=\"codeStyle\">(.*?)<\/em>/gi,"[code][i]$1[/i][/code]");e(/<em class=\"quoteStyle\">(.*?)<\/em>/gi,"[quote][i]$1[/i][/quote]");e(/<u class=\"codeStyle\">(.*?)<\/u>/gi,"[code][u]$1[/u][/code]");e(/<u class=\"quoteStyle\">(.*?)<\/u>/gi,"[quote][u]$1[/u][/quote]");e(/<\/(strong|b)>/gi,"[/b]");e(/<(strong|b)>/gi,"[b]");e(/<\/(em|i)>/gi,"[/i]");e(/<(em|i)>/gi,"[i]");e(/<\/u>/gi,"[/u]");e(/<span style=\"text-decoration: ?underline;\">(.*?)<\/span>/gi,"[u]$1[/u]");e(/<u>/gi,"[u]");e(/<blockquote[^>]*>/gi,"[quote]");e(/<\/blockquote>/gi,"[/quote]");e(/<br \/>/gi,"\n");e(/<br\/>/gi,"\n");e(/<br>/gi,"\n");e(/<p>/gi,"");e(/<\/p>/gi,"\n");e(/ |\u00a0/gi," ");e(/"/gi,'"');e(/</gi,"<");e(/>/gi,">");e(/&/gi,"&");return o},_punbb_bbcode2html:function(o){o=tinymce.trim(o);function e(e,t){o=o.replace(e,t)}e(/\n/gi,"<br />");e(/\[b\]/gi,"<strong>");e(/\[\/b\]/gi,"</strong>");e(/\[i\]/gi,"<em>");e(/\[\/i\]/gi,"</em>");e(/\[u\]/gi,"<u>");e(/\[\/u\]/gi,"</u>");e(/\[url=([^\]]+)\](.*?)\[\/url\]/gi,'<a href="$1">$2</a>');e(/\[url\](.*?)\[\/url\]/gi,'<a href="$1">$1</a>');e(/\[img\](.*?)\[\/img\]/gi,'<img src="$1" />');e(/\[color=(.*?)\](.*?)\[\/color\]/gi,'<font color="$1">$2</font>');e(/\[code\](.*?)\[\/code\]/gi,'<span class="codeStyle">$1</span> ');e(/\[quote.*?\](.*?)\[\/quote\]/gi,'<span class="quoteStyle">$1</span> ');return o}});tinymce.PluginManager.add("bbcode",tinymce.plugins.BBCodePlugin)})();
|