2017-09-17 11 views
0

次のコードは、段落内のすべてのリンクをクリック可能に変更します[外部リンク]PHP正規表現複数リンク段落表示ドメインのみ

私はHTTPとHTTPSの両方をキャッチするために2回実行する必要があります。

1)これを1行にする方法はありますか?

2)どのように私もそう代わり[外部リンク]のそれが唯一のドメイン名を表示し、それを変更するのでしょうか? google.comのように、実際のリンクはもっと長くなる可能性があります。私が[外部リンク]を使用している理由は、長いURLを短縮することです。

//Regular HTTP links 
$text = preg_replace('/(^|[^"])(((f|ht){1}tp:\/\/)[[email protected]:%_\+.~#?&\/\/=]+)/i', '\\1<a href="\\2" target="_blank">[external link]</a>', $text); 
//HTTPS links 
$text = preg_replace('/(^|[^"])(((f|ht){1}tps:\/\/)[[email protected]:%_\+.~#?&\/\/=]+)/i', '\\1<a href="\\2" target="_blank">[external link]</a>', $text); 

答えて