替换所有<;a>;与<;span>;字符串中的标记:Javascript

替换所有<;a>;与<;span>;字符串中的标记:Javascript,javascript,regex,Javascript,Regex,我需要替换所有的,在今天的Web平台上实现尽可能快的速度,并通过Web Workers和服务器端渲染进一步提高速度。 输出:Angular是构建移动和桌面web应用程序的平台。 Test Link今天在Web平台上实现尽可能快的速度,并通过Web Workers和服务器端渲染进一步提高速度。 测试链接二 谁能帮我解决这个问题。正如我在上面的评论中提到的,正则表达式不是处理(即解析、修改…)HTML的正确工具。下面的示例演示了一种使用DOMParser()实际使用新创建的跨度替换链接标记的方法

我需要替换所有的
,在今天的Web平台上实现尽可能快的速度,并通过Web Workers和服务器端渲染进一步提高速度。

输出:Angular是构建移动和桌面web应用程序的平台。
Test Link
今天在Web平台上实现尽可能快的速度,并通过Web Workers和服务器端渲染进一步提高速度。
测试链接二


谁能帮我解决这个问题。

正如我在上面的评论中提到的,正则表达式不是处理(即解析、修改…)HTML的正确工具。下面的示例演示了一种使用
DOMParser()
实际使用新创建的跨度替换链接标记的方法

var inputString=`Angular是一个用于构建移动和桌面web应用程序的平台。 今天,通过Web Workers和服务器端渲染,在Web平台上实现尽可能快的速度,并进一步提高速度。 `; var domParser=新的domParser(); var doc=domParser.parseFromString(inputString,'text/html'); var links=doc.querySelectorAll('a:link'); links.forEach(函数(linkTag){ var spanTag=document.createElement('span'); spanTag.title=linkTag.href; spanTag.style.color='#0000EE'; spanTag.innerHTML=linkTag.innerHTML; linkTag.parentNode.replaceChild(spanTag,linkTag); });
log(doc.body.innerHTML)您正在尝试替换字符串“”,但没有这样的字符串,因为链接还具有href属性。正则表达式不是处理HTML的正确工具!如果字符串中的img标记在使用此代码时受到影响,是否可以排除此处要处理的图像标记@ConstantinGroß此代码中使用的选择器不适用于img标记。
var a = input.replace(/<a>/g, "'<span>");
var b = a.replace(/<\/a>/g, "</span>");
var c = b.replace(/href/g, "title");