当前位置: 首页 > 面试题库 >

jQuery文本链接脚本?

郎玮
2023-03-14
问题内容

是否有人知道一个脚本,该脚本可以选择对URL的所有文本引用,并自动将其替换为指向这些位置的锚标记?

For example:

http://www.google.com

would automatically turn into

<a href="http://www.google.com">http://www.google.com</a>

注意:我想要这个是因为我不想浏览所有内容,并用锚标记将它们包装起来。


问题答案:

对我来说,这似乎是jQuery的完美任务。

…这样的事情浮现在我脑海:

// Define: Linkify plugin
(function($){

  var url1 = /(^|&lt;|\s)(www\..+?\..+?)(\s|&gt;|$)/g,
      url2 = /(^|&lt;|\s)(((https?|ftp):\/\/|mailto:).+?)(\s|&gt;|$)/g,

      linkifyThis = function () {
        var childNodes = this.childNodes,
            i = childNodes.length;
        while(i--)
        {
          var n = childNodes[i];
          if (n.nodeType == 3) {
            var html = $.trim(n.nodeValue);
            if (html)
            {
              html = html.replace(/&/g, '&amp;')
                         .replace(/</g, '&lt;')
                         .replace(/>/g, '&gt;')
                         .replace(url1, '$1<a href="http://$2">$2</a>$3')
                         .replace(url2, '$1<a href="$2">$2</a>$5');
              $(n).after(html).remove();
            }
          }
          else if (n.nodeType == 1  &&  !/^(a|button|textarea)$/i.test(n.tagName)) {
            linkifyThis.call(n);
          }
        }
      };

  $.fn.linkify = function () {
    return this.each(linkifyThis);
  };

})(jQuery);

// Usage example:
jQuery('div.textbody').linkify();


 类似资料:
  • 我需要从电子表格教程发送电子邮件的变化,其中用户可以把无限的电子邮件发送到不同的内容不同的收件人,基于信息所在的行。我有代码解析一行,并将该行中的信息输入到sendEmail()脚本方法中。 如果我能在每一行的某一列中插入一个链接,用户只需单击即可激活脚本,这将是最方便的。所以总的来说,我的问题是:如何在工作表中的单元格中插入脚本作为链接?

  • 我目前在按钮按钮上用于“显示当天报价”的脚本缺少一个功能:链接支持= 仅仅添加一个普通的“href”不起作用,它只显示为文本。 还有别的办法吗?

  • 我有一个脚本,当我转到网站链接(http://kodle.co.uk/login.php)时,脚本会返回如下内容: 警告:mysql_connect():拒绝用户“root”@“localhost”(使用 警告:mysql_select_db():用户“hkode”@“本地主机”(使用 警告:mysql_select_db(): 无法在 中建立指向服务器的链接 DBCONNECT。php脚本如下:

  • 我的问题是:如何创建一个新的链接文档并将其插入(或连接)到一个元素中(在我的例子中是一个活动图的Note-Element)。 元素类支持以下三种方法: 缺少类似的函数 编辑编辑 也可以使用临时文件:

  • 问题内容: 假设我的网页上有这些元素。 我想单击带有文本的链接。如何使用 链接文本 来识别或单击该元素,而没有任何独特的属性,例如id或class。 在.Net中,我可以使用。nightwatch.js中的等效项是什么 问题答案: 定位器在内部使用XPath。 因此,使用XPath单击示例中的第二个链接: 请注意,根据内部HTML的不同,您可能需要连接子级并修剪空格:

  • 问题内容: 对于不可编辑的UITextView,我想在iOS9 +中嵌入这样的文本: 只需单击此处进行注册 我可以创建一个函数并处理文本,但是有没有更简单的方法? 我看到我可以使用NSTextCheckingTypeLink,因此在Interface Builder中无需“ click here”部分就可以单击文本: 只需http://example.com进行注册 如果相关,我正在使用Xcode