Kailash
Kailash

Reputation: 11

How to retrieve text as clickable link in php?

here is my code to view posts from users, but it show link as normal text.how to detect url and convert into clickable link? reference attached:

enter image description here

function get_posts()
{
    global $con;
    $get_posts = "SELECT * FROM posts";
    $run_posts = mysqli_query($con, $get_posts);
    while ($row_posts = mysqli_fetch_array($run_posts)) {
        $post_id = $row_posts['post_id'];
        $user_id = $row_posts['user_id'];

        $content   = $row_posts['post_content'];
        $post_date = $row_posts['post_date'];

        echo "<div class='posts'>
        <p>$post_date</p>
        <p>$content</p>
        <a href='single.php?post_id=$post_id'Style='float:right;'>
        <button>See Replies or Reply to is</button></a>
        </div><br/>";
    }
}

Upvotes: 1

Views: 1883

Answers (2)

ASSILI Taher
ASSILI Taher

Reputation: 1350

This solution will catch all http/https/www and convert to clickable links.

$url = '~(?:(https?)://([^\s<]+)|(www\.[^\s<]+?\.[^\s<]+))(?<![\.,:])~i'; 
$content = preg_replace($url, '<a href="$0" target="_blank" title="$0">$0</a>', $content);

Please see Convert plain text URLs into HTML hyperlinks in PHP.

Upvotes: 0

Jaimin Panchal
Jaimin Panchal

Reputation: 289

Check below code as you have not properly prepared html. You have used button inside the anchor tag.

function get_posts(){
    global $con;
    $get_posts="SELECT * FROM posts";
    $run_posts=mysqli_query($con,$get_posts);
    while($row_posts=mysqli_fetch_array($run_posts)){
        $post_id=$row_posts['post_id']; 
        $user_id=$row_posts['user_id']; 

        $content=$row_posts['post_content'];    
        $post_date=$row_posts['post_date']; 

        echo '<div class="posts">
            <p>'.$post_date.'</p>
            <p>'.$content.'</p>
            <a href="single.php?post_id='.$post_id.'" style="float:right;">
        See Replies or Reply to is</a>     
        </div><br/>';
    }
}

Upvotes: 1

Related Questions