小金井にあるWEB制作会社の備忘録

MEMORANDUM

PHPの「preg_replace」を使って文中のURLを自動認識してリンクに変換

テキストエリア等で入力した文字の中にURLを含んでいた場合に、自動で認識してリンクタグを設置するもの。
ワードプレス等の便利なCMS仕様でリンクタグの設置も簡単に行えるようになってきて、使う機会は減ってきていましたが、意外と使う機会もあったのでメモ。

PHP

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