javascript - 用条件替换字符串中的 url

标签 javascript

我正在尝试将字符串中的 url 转换为链接,条件是 url 必须与我正在使用的域相同。我该怎么做?

我的域名是 http://www.domain.com

str = "This is a www.domain.com text with url. This is another url: www.domain2.com. This is a part of a url: http://domain.com/foo.php. This is another link: https://stackoverflow.com/questions/ask. Another link: domain.com/bar.php";

我想要的是:

  1. www.domain.com 将更改为 <a href='www.domain.com'>domain.com</a>
  2. www.domain2.com 保持不变。
  3. > http://domain.com/foo.php改为<a href='http://domain.com/foo.php'>/foo.php</a> .
  4. > https://stackoverflow.com/questions/ask保持不变。
  5. domain.com/bar.php 改为<a href='domain.com/bar.php'>/bar.php</a>

我如何使用 javascript 执行此操作?

最佳答案

应该这样做:

str.replace(/(?:(?:http:\/\/)?(?:www\.)?(domain\.com))(\/[a-zA-Z]+\.php)?/g,
    function(a,b,c) {
        return '<a href="'+a+'">'+(c ? c : b)+'</a>';
    });

这是工作 fiddle http://jsfiddle.net/URLzx/1/ .

关于javascript - 用条件替换字符串中的 url,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7673658/

相关文章:

JavaScript、node.js 和安全性

javascript - href:链接回上一页上的某个类

javascript - 根据多个搜索词筛选对象数组

javascript - 带有位置服务的angularjs注入(inject)器

javascript - 如何在点击时多次旋转

javascript - 点击第三层菜单项后如何关闭菜单

javascript - Github 贡献图

javascript - 验证表单 JavaScript

javascript - 文本编辑器换行符是否会结束 JavaScript 中的字符串内容?

javascript - 已经设置后,如何将 React Hooks 设置为另一个值