Hatena::ブログ(Diary)

 

2008-05-22

テキストにURLが含まれていたら自動リンク

phpでテキストにURLが含まれていたら自動リンクするというのをやりたくて、最初XOOPSのソースなんかを参考にしてみたりしたのですが、


どうもXOOPS自動リンク機能は頭が悪いので(余計なところまでリンクしちゃったりする)、

どうにかもっと精度の高い自動リンクにならんかなといろんなとこの正規表現を拝見しつつ、こんな感じにしてみた↓


<?php
$patterns = array("/(https?|ftp)(:\/\/[[:alnum:]\+\$\;\?\.%,!#~*\/:@&=_-]+)/i");
$replacements = array("<a href=\"\\1\\2\">\\1\\2</a>");
$ret = preg_replace($patterns, $replacements, $text);
?>

参考

URLの自動リンクをする正規表現(PHP) (こまちドーナツ)

スパム対策のためのダミーです。もし見えても何も入力しないでください
ゲスト


画像認証

トラックバック - http://d.hatena.ne.jp/kemworld/20080522/1211463240