Unutmayın kullandığım düzenli ifade çok sıradan ve basit, daha gelişmişini bulup bu mantıkla yapabilirsin diye düşünüyorum
$metin = "Veritabanından çektiğim düz metnin ve bir link http://abc.com ve başka bir link daha http://www.xyz.com ama sadece abc.com ifadesinin geçtiği url'nin linke dönüşmesi gerekiyor";
$istenilen = array("abc.com");
foreach( $istenilen as $link ) {
$regUrl = "/(http|https|ftp|ftps)\:\/\/".preg_quote($link)."(\/\S*)?/i";
// eşleşiyorsa
if(preg_match($regUrl, $metin, $url)) {
// metni değiştir diyoruz
$metin = preg_replace($regUrl, "".$link."", $metin);
}
}
// test için yazdır
echo $metin;
?>