Textlink als Link durch preg_replace ersetzen

Ich habe anscheinend ein Problem, bei dem ein Textlink durch einen Link zu der veröffentlichten Website ersetzt wird. Er wird nicht verlinkt.

Der Code:

$status_text = preg_replace('#(\A|[^=\]\'"a-zA-Z0-9])(http[s]?://(.+?)/[^()<>\s]+)#i', '\\1<a href="\\2">\\3</a>', $status_text);
echo $status_text;

$status_text wird aus einem MySQL-Feld namens gezogencontents, und enthält anderen Text, aber ich möchte nur den Link verlinken.zusätzlichIch möchte auch, dass nicht die vollständige URL angezeigt wird, sondern nur die Hauptdomäne.

UPDATE: Wir haben zwei andere preg_replaces auf derselben Seite, die nach Dingen mit + und # suchen, die auf Bereiche der Site verweisen. Sie funktionieren derzeit und müssen nicht mit den oben genannten in Konflikt stehen:

$status_text = preg_replace("/#([a-z_0-9]+)/i", "<a href=\"http://url.com/hashlink/$1\">$0</a>", $status_text);


$status_text = preg_replace("/\+([a-z_0-9]+)/i", "<a href=\"http://url.com/pluslink/$1\">$0</a>", $status_text);

Antworten auf die Frage(2)

Ihre Antwort auf die Frage