作者 主題: [問題]自製討論區代碼~請高手指教一下吧  (閱讀 3739 次)

0 會員 與 1 訪客 正在閱讀本文。

868nic

  • 懷疑的國中生
  • **
  • 文章數: 34
    • 檢視個人資料
代碼: [選擇]

//分析文章自動加入超連結
$aa = preg_replace("#(http://[0-9a-z._/?=&;]+)+|(https://[0-9a-z._/?=&;]+)+|(www[0-9a-z._/?=&;]+)#i","[url]\\1\\2\\3[/url]",$aa);
$aa = preg_replace("#([0-9a-z._]+@[0-9a-z._?=]+)#i","[email]\\1[/email]",$aa);

//分析[url][/url]
$aa = preg_replace("/(\[)(url)(=)(['\"]?)(www\.)([^\"']*)(\\4)(.*)(\[\/url\])/siU","<a href=\"http://www.\\6\" target=\"_blank\">\\8</a>",$aa);
$aa = preg_replace("/(\[)(url)(=)(['\"]?)([^\"']*)(\\4])(.*)(\[\/url\])/siU","<a href=\"\\5\" target=\"_blank\">\\7</a>",$aa);
$aa = preg_replace("/(\[)(url)(])(www\.)([^\"]*)(\[\/url\])/siU","<a href=\"http://www.\\5\" target=\"_blank\">www.\\5</a>",$aa);
$aa = preg_replace("/(\[)(url)(])([^\"]*)(\[\/url\])/siU","<a href=\"\\4\" target=\"_blank\">\\4</a>",$aa);

//分析[email][/email]
$aa = preg_replace("/\[email=(.+)\](.+)\[\/email\]/iU","<a href=\"mailto:\\1\">\\2</a>",$aa);
$aa = preg_replace("/\[email\](.+)\[\/email\]/iU","<a href=\"mailto:\\1\">\\1</a>",$aa);

我目前測試結果是
代碼: [選擇]

[ EMAIL]123@123.com[/EMAIL ]
123@123.com
www.123.com
http://123.com
http://www.123.com
https://123.com
https://www.123.com
[ URL=http://123.com]123[/URL ] <==有問題
[ URL]http://123.com[/URL ]
[ URL]http://www.123.com[/URL ]

它出現的畫面是http://123.com]123
網頁原始碼是<a href="[url" target="_blank">http://123.com</a>]123


其餘都正常顯示

請問一下我還有那裡需要修改呢?
還有正規運算式"#"代表是什麼意思呢?