终于解决了,最开始的正则表达式不能匹配“#”的,找了半天的问题。唉,有调试还是比较快的,赶上vpn不能翻墙,调不了js,以下是解决的代码
var urlPattern = /^(https?:\/\/)?([\w-]+\.?)+\.\w{2,}\/([^\/?#]+\/)*([^\/?#]+\/?)?(\?.+)?(#.+)?$/;
var editorContent = decodeURIComponent(RE.getHtml());
// 使用正则表达式查找所有匹配的URL
var urls = editorContent.match(urlPattern);
// 遍历所有找到的URL,并替换为<a>标签
if (urls) {
var encodedUrl = urls[0];
// 使用<a>标签包裹URL,其中href属性为URL,title属性为URL的原始文本
var link = '<a href="' + encodedUrl + '" title="' + encodedUrl + '">' + encodedUrl + '</a>';
// 在原始文本中找到URL的位置,并替换为<a>标签
editorContent = editorContent.replace(encodedUrl, link);
}