LoginSignup
0
0

More than 1 year has passed since last update.

【Laravel/PHP】テキスト中のURLをすべてリンクにする

Posted at

環境

Laravel:8.65
PHP:7.4

本題

やりたいこと

任意のテキストをフロントに出力する際に、文中のURLをすべてリンクにしたい

解決法

テキスト中のURLを検出し、aタグで囲う。
全部置き換えたいので、今回はpreg_replaceを使います。

1.URLっぽい文字列にマッチする正規表現を用意

$urlRegex = '/https?:\/\/[^\s]+/';

2.preg_replaceを使って文字列を置換

$linkedText = preg_replace($urlRegex, '<a href="$0" target="_blank" rel="noopener noreferrer">$0</a>', $text);

$0に、正規表現にマッチする文字列が入っているため、それをaタグで囲う様に置換する。
target="_blank"を書いておくことで、別タブで開くようにしています。

終了!!

これで、URLをリンクにすることが出来ました。

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0