Hallo,
"<a href="$2" target="_blank">" . catch_link_name($2, $l, $db_t_h) . "</a>"
Du suchst den Modifier e. Damit kannst Du PHP-Code innerhalb der Ersetzung ausführen. Beispiel:
$text = preg_replace ('/(a)(&)/e', ''<a href="$1">'.htmlspecialchars('$2').'</a>'', 'hallo ba&a& ha&&ba');
echo $text;
Viele Grüße,
Christian