ブログ向けWordPressテーマ「SWELL」をリリースしました!

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

2019 9/03

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」の部分がリンク化します。

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

目次
目次