我使用下面的函数来匹配给定文本中的URL并替换它们用于HTML链接.正则表达式工作得很好,但目前我只是替换了第一场比赛.
我如何替换所有的URL?我想我应该使用exec命令,但我并没有真正想到如何做到这一点.
function replaceURLWithHTMLLinks(text) {
var exp = /(\b(https?|ftp|file):\/\/[-A-Z0-9+&@#\/%?=~_|!:,.;]*[-A-Z0-9+&@#\/%=~_|])/i;
return text.replace(exp,"<a href='$1'>$1</a>");
}
Run Code Online (Sandbox Code Playgroud) 有没有办法转换HTML像:
<div>
<a href="#"></a>
<span></span>
</div>
Run Code Online (Sandbox Code Playgroud)
或任何其他HTML字符串到DOM元素?(这样我就可以使用appendChild())了.我知道我可以做.innerHTML和.innerText,但这不是我想要的 - 我真的希望能够将动态HTML字符串转换为DOM元素,以便我可以在.appendChild()中传递它.
更新:似乎有困惑.我有一个字符串中的HTML内容,作为JavaScript中变量的值.文档中没有HTML内容.