Open In App

How to replace plain URL with link using JavaScript ?

Given a plane URL, the task is to replace the plain URLs with the links. This problem can be solved with the help of Regular Expressions.

Approach: Using RegExp and replace() Method

Example: This example implements the above approach. 






<!DOCTYPE HTML>
<html>
 
<head>
    <title>
        How to replace plain URL with
        link using JavaScript ?
    </title>
</head>
 
<body style="text-align:center;">
 
    <h1 style="color:green;">
        GeeksForGeeks
    </h1>
 
    <p id="GFG_UP"
       style="font-size: 15px;
              font-weight: bold;">
    </p>
 
    <button onclick="GFG_Fun()">
        click here
    </button>
 
    <p id="GFG_DOWN"
       style="font-size: 24px;
              font-weight: bold;
              color: green;">
    </p>
 
    <script>
        let up = document.getElementById('GFG_UP');
        let down = document.getElementById('GFG_DOWN');
        let text = 'This is https://www.geeksforgeeks.org/';
 
        up.innerHTML = "Click on the button to replace "
            + "plain URLs with links.<br>" + text;
 
        function rep(text) {
 
            // Put the URL to variable $1 after visiting the URL
            const Rexp =
/((http|https|ftp):\/\/[\w?=&.\/-;#~%-]+(?![\w\s?&.\/;#~%"=-]*>))/g;
 
            // Replace the RegExp content by HTML element
            return text.replace(Rexp,
                "<a href='$1' target='_blank'>Link to URL</a>");
        }
 
        function GFG_Fun() {
            down.innerHTML = rep(text);
        }
    </script>
</body>
 
</html>

Output:

Example 2: In this example, we will put the URL to variable $1 and the Domain name to $3 after visiting the URL






<!DOCTYPE HTML>
<html>
 
<head>
    <title>
        How to replace plain URL with
        link using JavaScript ?
    </title>
</head>
 
<body style="text-align:center;">
 
    <h1 style="color:green;">
        GeeksForGeeks
    </h1>
 
    <p id="GFG_UP"
       style="font-size: 15px;
              font-weight: bold;">
    </p>
 
    <button onclick="GFG_Fun()">
        click here
    </button>
 
    <p id="GFG_DOWN"
       style="font-size: 24px;
              font-weight: bold;
              color: green;">
    </p>
 
    <script>
        let up = document.getElementById('GFG_UP');
        let down = document.getElementById('GFG_DOWN');
        let text = 'This is https://www.geeksforgeeks.org/';
 
        up.innerHTML = "Click on the button to replace "
            + "plain URLs with links.<br>" + text;
 
        function rep(text) {
            // Put the URL to variable $1 and Domain name
            // to $3 after visiting the URL
            const Rexp =
/(\b(https?|ftp|file):\/\/([-A-Z0-9+&@#%?=~_|!:,.;]*)([-A-Z0-9+&@#%?\/=~_|!:,.;]*)[-A-Z0-9+&@#\/%=~_|])/ig;
 
            // Replacing the RegExp content by HTML element
            return text.replace(Rexp,
                "<a href='$1' target='_blank'>$3</a>");
        }
 
        function GFG_Fun() {
            down.innerHTML = rep(text);
        }
    </script>
</body>
 
</html>

Output: 


Article Tags :