我使用下面的函数来匹配给定文本中的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) 如果您有一段普通文本,则可以单击文本内的任意位置并拖动鼠标以突出显示该文本.但是,如果文本位于锚点/链接标记内,则不允许您单击并拖动 - 链接捕获鼠标并阻止其发生.
要查看我的意思,请在此页面上找到一个文本链接,然后尝试在其中单击并拖动以选择它.它不会让你 - 你必须在链接外面点击并拖动它.
你需要在JavaScript/JQuery中做什么才能暂时禁用链接,以便拖动并突出显示它?
我不能只启动外环线的原因是因为在该段每个字都是一个超链接内 - 这是一个视频的转录和各个环节同步到视频片段.
我有一个为我的客户构建的简单CMS。
这个问题是,他不是通过锚标签发布链接,而是直接将其复制并粘贴到文本编辑器中。
有没有办法使用 JavaScript 将这些链接包装在锚标记中?因此,当页面加载而不是看起来链接时:
http://google.com
Run Code Online (Sandbox Code Playgroud)
它看起来像这样
<a href="http://google.com" target="_blank">http://google.com</a>
Run Code Online (Sandbox Code Playgroud)
当用户将 URL 发布到答案/问题时,Stack Overflow 实际上会这样做(如果这有助于理解我想要实现的目标)。