compile insert RTI_BBC2HTML_EDITED function BBC2HTML(S) { var smileyList = {smile: [[':smile:',':-\\)'], 'smile'], bigsmile: [[':biggrin:',':-D'],'big grin'], vsad:[[':vsad:',':-\\(\\('],'very sad'], sad:[[':sad:',':-\\('],'sad'], wink:[[':wink:',';-\\)'],'wink'], vshocked:[[':surprised:',':-o'],'shocked'], tongue:[[':tongue:',':-\\!'],'tongue'], cool:[[':cool:'], 'cool!'], mad:[[':mad:'],'mad!'], sconf:[[':confused:'], 'confused'], paranoid:[[':paranoid:'],'paranoid'], question:[[':question:'],'question?'], thumbup:[[':thumbsup:'],'Yes!'], thumbdown:[[':thumbsdown:'], 'No!']}; //S = smileyParse(S); if (S.indexOf('[') < 0) return S; function X(p, f) {return new RegExp(p, f)} function D(s) {return rD.exec(s)} function R(s) {return s.replace(rB, P)} function A(s, p) {for (var i in p) s = s.replace(X(i, 'g'), p[i]); return s;} function P($0, $1, $2, $3) { if ($3 && $3.indexOf('[') > -1) $3 = R($3); switch ($1) { case 'url':case 'anchor':case 'email': return ''+ $3 +''; case 'img': var d = D($2); return ''+ (d ? '' : $2) +''; case 'flash':case 'youtube': var d = D($2)||[0, 425, 366]; return ''; case 'float': return ''+ $3 +''; case 'left':case 'right':case 'center':case 'justify': return '
'+ $3 +'
'; case 'google':case 'wikipedia': return ''+ $3 +''; case 'b':case 'i':case 'u':case 's':case 'sup':case 'sub':case 'h1':case 'h2':case 'h3':case 'h4':case 'h5':case 'h6':case 'table':case 'tr':case 'th':case 'td': return '<'+ $1 +'>'+ $3 +''; case 'row': case 'r':case 'header':case 'head':case 'h':case 'col':case 'c': return '<'+ T[$1] +'>'+ $3 +''; case 'acronym':case 'abbr': return '<'+ $1 +' title="'+ $2 +'">'+ $3 +''; } return '['+ $1 + ($2 ? '='+ $2 : '') +']'+ $3 +'[/'+ $1 +']'; } var rB = X('\\[([a-z][a-z0-9]*)(?:=([^\\]]+))?]((?:.|[\r\n])*?)\\[/\\1]', 'g'), rD = X('^(\\d+)x(\\d+)$'); var L = {url: 'href="', 'anchor': 'name="', email: 'href="mailto: '}; var G = {google: 'http://www.google.com/search?q=', wikipedia: 'http://www.wikipedia.org/wiki/'}; var Y = {youtube: 'http://www.youtube.com/v/', flash: ''}; var T = {row: 'tr', r: 'tr', header: 'th', head: 'th', h: 'th', col: 'td', c: 'td'}; //var C = {notag: [{'\\[': '[', ']': ']'}, '', ''], code: [{'<': '<'}, '
', '
']}; var C = {notag: [{'\\[': '[', ']': ']'}, '', '']}; //C.php = [C.code[0], C.code[1]+ '<?php ', '?>'+ C.code[2]]; var F = {font: 'font-family:$1', size: 'font-size:$1px', color: 'color:$1'}; var U = {c: 'circle', d: 'disc', s: 'square', '1': 'decimal', a: 'lower-alpha', A: 'upper-alpha', i: 'lower-roman', I: 'upper-roman'}; var I = {}, B = {}; function smileyParse(origStr) { var i, j, target, re; // first make sure any 'notag' wrappers are respected alert("before change"); origStr = origStr.replace(/\[notag\]((?:.|[\r\n])*?)\[\/notag\]/g, function($0, $1) {var p1 = $1.replace(/\;-\)/g,":wink:"); p1 = p1.replace(/\:-\)/g, ":smile:"); p1 = p1.replace(/\:/g, ":"); return "[notag]" + p1 + "[/notag]";}); alert("after change"); for (i in smileyList) { for (j in smileyList[i][0]) { target = smileyList[i][0][j]; alert("target is *" + target + "*"); re = new RegExp(target, "g"); origStr = origStr.replace(re, '' + smileyList[i][1] + ''); } } return origStr; } for (var i in C) I['\\[('+ i +')]((?:.|[\r\n])*?)\\[/\\1]'] = function($0, $1, $2) {var p1 = $1, p2 = $2, rslt; if (p1 == "code") {p2 = p2.replace(/
/gi,"\r"); p2 = p2.replace(//gi, "\r");} rslt = C[$1][1] + A(p2, C[$1][0]) + C[$1][2]; return rslt;}; for (var i in F) {B['\\['+ i +'=([^\\]]+)]'] = ''; B['\\[/'+ i +']'] = '';} B['\\[list]'] = '