WEB制作者向け無料テーマ「Arkhe」をリリースしました

【PHP】出力したいテキストからURLを自動で検出し、aタグで囲んでリンク化する方法

PHPでテキストの内容にURLが含まれていればそれを検出し、自動でURLをaタグで囲んでリンク化させる方法をメモ。

WordPressで、「カスタムフィールドの入力エリアにaタグ打ち込んでもエスケープ処理されてリンクにならない!」ってケースでURLをリンク化してほしい場合などに使えます。

流れとしては非常に単純で、正規表現でURL部分を検出し、preg_replaceでaタグで囲むように置換するだけ。

$text;  //対象のテキスト
$pattern = '/((?:https?|ftp):\/\/[-_.!~*\'()a-zA-Z0-9;\/?:@&=+$,%#]+)/';
$replace = '<a href="$1">$1</a>';
$text    = preg_replace( $pattern, $replace, $text );

この処理を挟むと、

ほげほげhttps://wemo.tech/tips/2160ほげほげ

のようなテキストで、「https://wemo.tech/tips/2160」の部分がリンク化します。

この記事が気に入ったら
フォローしてね!

よかったらシェアしてね!
  • URLをコピーしました!
  • URLをコピーしました!
目次