Changeset 5914
- Timestamp:
- Mar 21, 2008, 5:40:02 AM (14 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
OpenPNE/branches/work/ebihara/prj_deco_diary/public_html/js/tiny_mce/plugins/openpne/editor_plugin.js
r5911 r5914 91 91 92 92 _previewToText : function(s) { 93 var rule = /<(font|b|u|s|i)( size="(2|7)"| color="(#[0-9a-f]{3,6})"|)( color="(#[0-9a-f]{3,6})"| size="(2|7)"|)>(.*?)<\/\1>/; 93 94 s = tinymce.trim(s); 94 95 … … 96 97 s = s.replace(re, str); 97 98 }; 98 console.debug('ptt b', s); 99 rep(/<font size=\"2\">(.*?)<\/font>/gi,"<op:small>$1</op:small>"); 100 rep(/<font size=\"7\">(.*?)<\/font>/gi,"<op:large>$1</op:large>"); 101 rep(/<font color=\"(#[0-9a-f]{3,6})\">(.*?)<\/font>/gi,"<op:color:$1>$2</op:color>"); 102 rep(/<font color=\"(#[0-9a-f]{3,6})\" size=\"2\">(.*?)<\/font>/gi,"<op:color:$1><op:small>$2</op:small></op:color>"); 103 rep(/<font color=\"(#[0-9a-f]{3,6})\" size=\"7\">(.*?)<\/font>/gi,"<op:color:$1><op:large>$2</op:large></op:color>"); 104 rep(/<font size=\"2\"color=\"(#[0-9a-f]{3,6})\" >(.*?)<\/font>/gi,"<op:color:$1><op:small>$2</op:small></op:color>"); 105 rep(/<font size=\"7\" color=\"(#[0-9a-f]{3,6})\">(.*?)<\/font>/gi,"<op:color:$1><op:large>$2</op:large></op:color>"); 106 rep(/<(b|u|s|i)>/gi,"<op:$1>"); 107 rep(/<\/(b|u|s|i)>/gi,"</op:$1>"); 108 rep(/<p>/gi,""); 109 rep(/<\/p>/gi,"\n\n"); 99 100 function convertHtmlTagToDecoTag(matches) 101 { 102 var tagname = matches[1]; 103 var font_size = matches[3] || matches[7]; 104 var font_color = matches[4] || matches[6]; 105 var value = matches[8].gsub(rule, convertHtmlTagToDecoTag); 106 var opt = ""; 107 108 // convert font tag 109 if (tagname == "font") { 110 if (font_size == "7") { 111 tagname = "large"; 112 } else if (font_size == "2") { 113 tagname = "small"; 114 } 115 116 if (font_size && font_color) { 117 return "<op:color:" + font_color + "><op:" + tagname + ">" + value + "</op:" + tagname + "></op:color>"; 118 } else if (font_color) { 119 tagname = "color"; 120 opt = ":" + font_color; 121 } 122 123 if (tagname == "font") { // can't convert 124 return value; 125 } 126 } 127 128 var converted = "<op:" + tagname + opt + ">" + value + "</op:" + tagname + ">"; 129 return converted; 130 }; 131 132 s = s.gsub(rule, convertHtmlTagToDecoTag); 110 133 rep(/<br\s?\/?>/gi,"\n\n"); 111 134 rep(/ /gi," "); … … 115 138 rep(/&/gi,"&"); 116 139 117 console.debug('ptt a', s);118 140 return s; 119 141 }, … … 121 143 _textToPreview : function(s) { 122 144 s = tinymce.trim(s); 145 var rule = /<op:(b|u|s|i|large|small|color)(:(#[0-9a-f]{3,6})|)>(.*?)<\/op:\1>/; 123 146 124 147 function rep(re, str) { … … 126 149 }; 127 150 128 console.debug('ptp b', s); 151 function convertDecoTagToHtmlTag(matches) 152 { 153 var tagname = matches[1]; 154 var color = matches[3]; 155 var value = matches[4].gsub(rule, convertDecoTagToHtmlTag); 156 var opt = ''; 157 158 if (tagname == 'color' && color) { 159 tagname = 'font'; 160 opt = ' color="' + color + '"'; 161 } 162 163 if (tagname == 'large') { 164 tagname = 'font'; 165 opt = ' size="7"'; 166 } 167 168 if (tagname == 'small') { 169 tagname = 'font'; 170 opt = ' size="2"'; 171 } 172 173 var converted = "<" + tagname + opt + ">" + value + "</" + tagname + ">"; 174 return converted; 175 }; 176 129 177 rep(/</gi,"<"); 130 178 rep(/>/gi,">"); 131 179 rep(/\n/gi,"<br />"); 132 rep(/<op:color:?(.*?)>/gi,"<font color=\"$1;\">"); 133 rep(/<op:large>/gi,"<font size=\"7\">"); 134 rep(/<op:small>/gi,"<font size=\"2\">"); 135 rep(/<\/op:(small|large|color)>/gi,"</font>"); 136 rep(/<op:(b|u|s|i)>/gi,"<$1>"); 137 rep(/<\/op:(b|u|s|i)>/gi,"</$1>"); 180 s = s.gsub(rule, convertDecoTagToHtmlTag); 138 181 139 console.debug('ptp a', s);140 182 return s; 141 183 }
Note: See TracChangeset
for help on using the changeset viewer.