javascript - 如何从JavaScript中的段落中提取数组中的URL

原文 标签 javascript arrays url

我想获取数组中JavaScript的段落或句子中所有可用的URL。例如,检查以下段落:


  请结帐http://stackoverflow.com。它具有非常酷的徽标https://d13yacurqjgara.cloudfront.net/users/1249/screenshots/2247671/stackoverflow.png


从上面的字符串中,我们必须获取这两个url的数组。解决方案1:解决方案1,我知道要用空格分割段落,遍历数组,然后逐个检查url,然后推入url的数组。但是,这是一个耗时的解决方案。找到更好的解决方案还是在上面的解决方案是最快且可行的解决方案?谢谢。

最佳答案

试试这种方法。它可能需要一些微调。



var paragraphs = document.getElementsByTagName('p')
var regex = /(https?:\/\/.*?)(\s|$)/g;
var urls = [];
var badLastChars = [".", ","];

for (var i = 0; i < paragraphs.length; i++) {
  var p = paragraphs[i].innerText;
  var match;
  while (match = regex.exec(p)) {
    var url = match[1];
    var lastChar = url[url.length-1];
    if (badLastChars.indexOf(lastChar) > -1 ) {
      url = url.slice(0,url.length-1);
    }
    console.log(url);
    urls.push(url);
  }
}

<p> Please checkout http://stackoverflow.com. It has very cool logo https://d13yacurqjgara.cloudfront.net/users/1249/screenshots/2247671/stackoverflow.png.</p>

<p> Another  paragraph https://stackexchange.com. and here is another url I am making up: https://mycoolurlexample.com/this/is/an/example</p>

关于javascript - 如何从JavaScript中的段落中提取数组中的URL,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41633348/

相关文章:

php - 如何从url调整图像大小并使图像的大小更小

javascript - 负方向的指数公式?

javascript - 使用 lightbox2 加载 AJAX 内容

c++ - char数组上的左移操作

php - PHP包含完整URL(或网站)

url - Magento-PayPal IPN配置

javascript - 如何发送以在div中打印图像?

javascript - 文档元素后的垃圾 Firefox 错误加载内容与 JQuery Get

jquery - jQuery创建一个数组,其中包含天数和OT,然后是project_no

java - phonebook.java项目的搜索功能