SOFTELメモ Developer's blog

[php] 自動リンク

2020/01/26 php

問題

URLを含む文字列で、URLを画面に出力する際に、リンクにしたいです。

答え

以下のような形で、正規表現で置換する。

function autolink($s)
{
    return preg_replace('/(https?:\/\/[\w!?\/\+\-_~=;\.,*&@#$%\(\)\'\[\]]+)/', '<a href="$0">$0</a>', $s);
}

使用例

echo autolink(htmlspecialchars($str));

autolink() と htmlspecialchars() の順番が逆になると、HTMLタグが画面に表示されるので注意。

関連するメモ

コメント