php 文字列に含まれるメールアドレスに自動でリンクを貼る方法

php で文字列に含まれるメールアドレスに自動でリンクを貼る方法を紹介します。
例えば、テキストに含まれるメールアドレスを自動で a タグで囲いたいときに便利な方法です。

文字列に含まれるメールアドレスに自動でリンクを貼る方法

文字列に含まれるメールアドレスに自動でリンクを貼る場合 preg_replace を使用します。
例えば、文字列に含まれるメールアドレスに自動でリンクを貼る場合は次のコードをテンプレートに追加します。

<?php // 文字列に含まれるメールアドレスに自動でリンクを貼る方法
$text = 'hogehoge@hirashimatakumi.com';
$replace_mail = '/((?:\w+\.?)*\w+@(?:\w+\.)+\w+)/i';
$text = preg_replace($replace_mail, '<a href="mailto:$1">$1</a>', $text);
echo $text;
?>

文字列に含まれるURLに自動でリンクを貼る方法

文字列に含まれるURLに自動でリンクを貼る場合 preg_replace を使用します。
例えば、文字列に含まれるURLに自動でリンクを貼る場合は、次のコードをテンプレートに追加します。

<?php // 文字列に含まれるURLに自動でリンクを貼る方法
$text = 'https://hirashimatakumi.com';
$replace_url = '/((ftp|http|https):\/\/(\w+:{0,1}\w*@)?(\S+)(:[0-9]+)?(\/|\/([\w#!:.?+=&%@!\-\/]))?)/i';
$text = preg_replace($replace_url, '<a href="$1">$1</a>', $text);
echo $text;
?>

まとめ

php で文字列に含まれるメールアドレスに自動でリンクを貼る方法を紹介しました。