Обнаруживает URL в простом тексте в Javascript - PullRequest
0 голосов
/ 14 января 2019

Я хочу определить URL в тексте в Javascript, можете ли вы сказать мне, что не так в этой функции?

function findUrl() {
    var text = document.getElementById("content");
    var urlRegex = /(\b(https?|ftp|file):\/\/[-A-Z0-9+&@#\/%?=~_|!:,.;]*[-A-Z0-9+&@#\/%=~_|])/ig;

    return text.replace(urlRegex, function(url) {
    return '<a href="' + url + '">' + url + '</a>';
    }); 
}

findUrl();

Ответы [ 2 ]

0 голосов
/ 15 января 2019

Я бы, вероятно, упростил это до:

function findUrl() {
    var text = document.getElementById("content").textContent;
    var urlRegex = /(\b(https?|ftp|file):\/\/\S+)/gi;

    return text.replace(urlRegex, function(url) {
    return `<a href="${url}">${url}</a>`;
    }); 
}
0 голосов
/ 14 января 2019

text не строка, а DOMElement. Может быть, вы хотите:

var text = document.getElementById("content").value; // if #content is an <input>
// or
var text = document.getElementById("content").textContent;
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...