- preg_match_all: documentation ( source)
- str_replace: documentation ( source)
<?php
$text ="I found some really good articles on such and such topic. Here are a few links to check out: http://www.example.com/hOSDHOUA and https://www.mywebsite.com/h/yIFeelLowIfImHigh and http://example-site.com/today-is-a-beautiful-day/. ";
$reg_exUrl = "/(http|https|ftp|ftps)\:\/\/[a-zA-Z0-9\-\.]+\.[a-zA-Z]{2,3}(\/\S*)?/";
// The Text you want to filter for urls
// Check if there is a url in the text
if(preg_match_all($reg_exUrl, $text, $url)) {
foreach($url[0] as $link){
$text = str_replace($link, "<a href={$link}>{$link}</a> ", $text); // <--- Part in question
}
echo $text;
} else {
// if no urls in the text just return the text
echo $text;
}