PHP URLとメールアドレスを自動でaタグで囲む

/ PHP / Comment[0]

http,https,*@*に自動でa hrefをつけてくれる関数です。

function autohyperlink( $content ) {
  //http,https,ついでにftpにマッチ
  $pattern_http = '/((?:https?|ftp):\/\/[-_.!~*\'()a-zA-Z0-9;\/?:@&=+$,%#]+)/';
  $replace_http = '<a href="\1" target="_blank">\1</a>';
  //メールアドレスにマッチ
  $pattern_mail = '/[a-zA-Z0-9_\-\.]+@[a-zA-Z0-9\-\.]+\.[a-zA-Z]+/';
  $replace_mail = '<a href="mailto:\1">\1</a>';
  //置換
  $content = preg_replace( $pattern_http, $replace_http, $content );
  $content = preg_replace( $pattern_mail, $replace_mail, $content );
  return $content;
}

使い方

<?php echo autohyperlink( $content ); ?>
関連記事

コメント

:
:
:
:
:
管理人のみ表示を許可