#18592536 관련, 책갈피의 경우 경로 수정을 하지 않게 수정, 경로 수정 하는 곳 마다 분산 되어 있던 코드 정리해서 함수 하나로 묶음, 태그 외에 작성된 경로는 건드리지 않게 수정.

git-svn-id: http://xe-core.googlecode.com/svn/sandbox@7134 201d5d3c-b55e-5fd7-737f-ddc643e51545
This commit is contained in:
misol 2010-01-11 15:32:38 +00:00
parent 52d4270894
commit 9011b0ebef

View file

@ -42,12 +42,7 @@ function editorStart_xe(editor_sequence, primary_key, content_key, editor_height
if(xFF && !content) content = '<br />';
// src, href, url의 XE 상대경로를 http로 시작하는 full path로 변경
content = content.replace(/(src=|href=|url\()("|\')*([^"\'\)]+)("|\'|\))*(\s|>)*/ig, function(m0,m1,m2,m3,m4,m5) {
if(m1=="url(") { m2=''; m4=')'; } else { if(typeof(m2)=='undefined') m2 = '"'; if(typeof(m4)=='undefined') m4 = '"'; if(typeof(m5)=='undefined') m5 = ''; }
var val = jQuery.trim(m3).replace(/^\.\//,'');
if(/^(http|https|ftp|telnet|mms|\/|\.\.)/i.test(val)) return m0;
return m1+m2+request_uri+val+m4+m5;
});
content = editorReplacePath(content);
form[content_key].value = content;
jQuery("#xpress-editor-"+editor_sequence).val(content);
@ -191,17 +186,23 @@ function editorGetIframe(srl) {
function editorReplaceHTML(iframe_obj, content) {
// src, href, url의 XE 상대경로를 http로 시작하는 full path로 변경
content = content.replace(/(src=|href=|url\()("|\')*([^"\'\)]+)("|\'|\))*(\s|>)*/ig, function(m0,m1,m2,m3,m4,m5) {
if(m1=="url(") { m2=''; m4=')'; } else { if(typeof(m2)=='undefined') m2 = '"'; if(typeof(m4)=='undefined') m4 = '"'; if(typeof(m5)=='undefined') m5 = ''; }
var val = jQuery.trim(m3).replace(/^\.\//,'');
if(/^(http|https|ftp|telnet|mms|\/|\.\.)/i.test(val)) return m0;
return m1+m2+request_uri+val+m4+m5;
});
content = editorReplacePath(content);
var srl = parseInt(iframe_obj.id.replace(/^.*_/,''),10);
editorRelKeys[srl]["pasteHTML"](content);
}
function editorReplacePath(content) {
// 태그 내 src, href, url의 XE 상대경로를 http로 시작하는 full path로 변경
content = content.replace(/\<([^\>\<]*?)(src=|href=|url\()("|\')*?([^"\'\)]+)("|\'|\))*?(\s|>)*/ig, function(m0,m1,m2,m3,m4,m5,m6) {
if(m2=="url(") { m3=''; m5=')'; } else { if(typeof(m3)=='undefined') m3 = '"'; if(typeof(m5)=='undefined') m5 = '"'; if(typeof(m6)=='undefined') m6 = ''; }
var val = jQuery.trim(m4).replace(/^\.\//,'');
if(/^(http|https|ftp|telnet|mms|\/|\.\.|\#)/i.test(val)) return m0;
return '<'+m1+m2+m3+request_uri+val+m5+m6;
});
return content;
}
function editorGetAutoSavedDoc(form) {
var param = new Array();
param['mid'] = current_mid;
@ -237,26 +238,14 @@ xe.XE_GET_WYSYWYG_CONTENT = jQuery.Class({
TO_WYSIWYG_SET : function(content) {
// src, href, url의 XE 상대경로를 http로 시작하는 full path로 변경
content = content.replace(/(src=|href=|url\()("|\')*([^"\'\)]+)("|\'|\))*(\s|>)*/ig, function(m0,m1,m2,m3,m4,m5) {
if(m1=="url(") { m2=''; m4=')'; } else { if(typeof(m2)=='undefined') m2 = '"'; if(typeof(m4)=='undefined') m4 = '"'; if(typeof(m5)=='undefined') m5 = ''; }
var val = jQuery.trim(m3).replace(/^\.\//,'');
if(/^(http|https|ftp|telnet|mms|\/|\.\.)/i.test(val)) return m0;
return m1+m2+request_uri+val+m4+m5;
});
content = editorReplacePath(content);
return content;
},
IR_TO_HTMLSrc : function(content) {
// src, href, url의 XE 상대경로를 http로 시작하는 full path로 변경
content = content.replace(/(src=|href=|url\()("|\')*([^"\'\)]+)("|\'|\))*(\s|>|\))*/ig, function(m0,m1,m2,m3,m4,m5) {
var uriReg = new RegExp('^'+request_uri.replace('\/','\\/'),'ig');
if(m1=="url(") { m2=''; m4=')'; } else { if(typeof(m2)=='undefined') m2 = '"'; if(typeof(m4)=='undefined') m4 = '"'; if(typeof(m5)=='undefined') m5 = ''; }
var val = jQuery.trim(m3);
if(uriReg.test(val)) val = val.replace(uriReg,'');
else val = m3;
return m1+m2+val+m4+m5;
});
content = editorReplacePath(content);
return content;
}