投稿者 メッセージ
<  PHPプログラミング  ~  URLの自動リンク
がく
投稿1時間: 日 5月 20, 2007 4:39 am  引用



登録日: 2007年5月 20日
投稿記事: 2
所在地: 大阪府

お世話になります。
掲示板などでURLを入力された場合、
そのURLを自動的にリンクしたいのですが、
良い方法がわかりません。

ereg_replace("(https?|ftp)(://[[:alnum:]\+\$\;\?\.%,!# ̄*/:@&=_-]+)","<a href=\"\\1\\2\" target=_blank>\\1\\2</a>",$str);

のような正規表現を利用した方法も試してみたのですが、
http://www.hogehoge/
のように入力された場合、全角の!や?までがリンク対象になってしまい、
必ずリンク切れになってしまいます。
実際に「!」を末尾に付けて投稿される方がおられまして。。。

確実にURLの部分を判断するには、どのように処理すれば良いのでしょうか。
宜しくお願い致します。
トップに移動
ユーザー情報を表示 メッセージを送信 メールを送信 ウェブサイトに移動
ach
投稿1時間: 日 5月 20, 2007 9:08 pm  引用



登録日: 2006年8月 19日
投稿記事: 19

[code:1:ea61ecc23d]/**
* 引数中のURL, メ
トップに移動
ユーザー情報を表示 メッセージを送信
がく
投稿1時間: 日 5月 20, 2007 10:44 pm  引用



登録日: 2007年5月 20日
投稿記事: 2
所在地: 大阪府

仰る通り、古典的な命題かと思っていろいろ探してみたのですが、
先に挙げたコードばかりがヒットし、いくつか自動リンクに対応したスクリプトを見ても
同じコードが利用されていたりと、少々戸惑いました。

まだphpを初めて間もないのですが、これを糸口にもう少し調べてみます。

ありがとうございました。
トップに移動
ユーザー情報を表示 メッセージを送信 メールを送信 ウェブサイトに移動
特定期間内の記事を表示:   
All times are GMT +9:00

次のトピックを表示
前のトピックを表示
Page 1 of 1
フォーラム一覧  ~  PHPプログラミング

トピックの新規投稿   返信


 
移動先:  

新規投稿: 不可
返信: 不可t
自分の記事の編集: 不可
自分の記事の削除: 不可
投票への参加: 不可




Powered by phpBB
customized by phpspot.