本帖最后由 hbghlyj 于 2022-2-5 21:38 编辑 | 我找到原因了:parseurl("[code]$$[/code]")
结果为'[code]$[/code]'
双美元变成单美元了
这个parseurl在common.js里面,相关的代码:function parseurl(str, mode, parsecode) {
if (isUndefined(parsecode))
parsecode = true;
if (parsecode)
str = str.replace(/\s*\[code\]([\s\S]+?)\[\/code\]\s*/ig, function($1, $2) {
return codetag($2);
});
str = str.replace(/([^>=\]"'\/]|^)((((https?|ftp):\/\/)|www\.)([\w\-]+\.)*[\w\-\u4e00-\u9fa5]+\.([\.a-zA-Z0-9]+|\u4E2D\u56FD|\u7F51\u7EDC|\u516C\u53F8)((\?|\/|:)+[\w\.\/=\?%\-&~`@':+!]*)+\.(jpg|gif|png|bmp))/ig, mode == 'html' ? '$1
' : '$1[img]$2[/img]');
str = str.replace(/([^>=\]"'\/@]|^)((((https?|ftp|gopher|news|telnet|rtsp|mms|callto|bctp|ed2k|thunder|synacast):\/\/))([\w\-]+\.)*[:\.@\-\w\u4e00-\u9fa5]+\.([\.a-zA-Z0-9]+|\u4E2D\u56FD|\u7F51\u7EDC|\u516C\u53F8)((\?|\/|:)+[\w\.\/=\?%\-&~`@':+!#]*)*)/ig, mode == 'html' ? '$1$2' : '$1[url]$2[/url]');
str = str.replace(/([^\w>=\]"'\/@]|^)((www\.)([\w\-]+\.)*[:\.@\-\w\u4e00-\u9fa5]+\.([\.a-zA-Z0-9]+|\u4E2D\u56FD|\u7F51\u7EDC|\u516C\u53F8)((\?|\/|:)+[\w\.\/=\?%\-&~`@':+!#]*)*)/ig, mode == 'html' ? '$1$2' : '$1[url]$2[/url]');
str = str.replace(/([^\w->=\]:"'\.\/]|^)(([\-\.\w]+@[\.\-\w]+(\.\w+)+))/ig, mode == 'html' ? '$1$2' : '$1[email]$2[/email]');
if (parsecode) {
for (var i = 0; i <= DISCUZCODE['num']; i++) {
str = str.replace("[\tDISCUZ_CODE_" + i + "\t]", DISCUZCODE['html'][i]);
}
}
return str;
}
function codetag(text) {
DISCUZCODE['num']++;
if (typeof wysiwyg != 'undefined' && wysiwyg)
text = text.replace(/
]*>/ig, '\n').replace(/<(\/|)[A-Za-z].*?>/ig, '');
DISCUZCODE['html'][DISCUZCODE['num']] = '[code]' + text + '[/code]';
return '[\tDISCUZ_CODE_' + DISCUZCODE['num'] + '\t]';
}