RSS   



  可打印版本 | 推薦給朋友 | 訂閱主題 | 收藏主題 | 純文字版  


 


 
主題: [求助]關於超連結代碼的判斷   字型大小:||| 
ROACH
版主
等級: 30等級: 30等級: 30等級: 30等級: 30等級: 30等級: 30等級: 30
減肥中!請勿餵食

十週年紀念徽章(四級)  

 . 積分: 15118
 . 精華: 14
 . 文章: 11766
 . 收花: 140844 支
 . 送花: 6005 支
 . 比例: 0.04
 . 在線: 8869 小時
 . 瀏覽: 85616 頁
 . 註冊: 8008
 . 失蹤: 1
 . 鄉下地方
#1 : 2006-3-23 08:35 PM     只看本作者 引言回覆

想問一下
最近我用JSP寫一個企業入口網站討論區



想問一下一般討論區那種判斷超連結的代碼應該怎做呢??

我寫的一個副程式

去判斷 http: 開頭 以及 空白鍵跟ENTER鍵結尾的字元
前面加上 <a href="的字元
這樣就變成完整的超連結語法


這樣判斷出來後~再把字串丟回去~

然後接著
在去判斷 [url]的字元~
也把[url]改成<a href=

結果@@這樣卻變成

<a href="<a href="

哇勒!!

想問一下!一般的討論區關於這邊是如何判斷的呢????
還是有其他作法呢??

因為又要考慮使用者沒有用[url]直接貼網址上來
又要考慮到如果使用者用[url]的話.....



[如果你喜歡本文章,就按本文章之鮮花~送花給作者吧,你的支持就是別人的動力來源]
本文連接  
檢閱個人資料  訪問主頁  發私人訊息  Blog  快速回覆 新增/修改 爬文標記
Vic
開墾隊隊長.苦力
等級: 32等級: 32等級: 32等級: 32等級: 32等級: 32等級: 32等級: 32
老得不能再稱小的熊

十週年紀念徽章(五級)   終生苦力熊勳章  

今日心情

 . 積分: 9409
 . 精華: 28
 . 文章: 9949
 . 收花: 79214 支
 . 送花: 10986 支
 . 比例: 0.14
 . 在線: 2902 小時
 . 瀏覽: 187021 頁
 . 註冊: 8017
 . 失蹤: 25
 . 大熊國
#2 : 2006-3-24 11:15 AM     只看本作者 引言回覆

都是通過regular expression來做的.

preg_replace是php下reg exp的功能, R大找找jsp下的相關功能.

// matches a "www|ftp.xxxx.yyyy[/zzzz]" kinda lazy URL thing
// Must contain at least 2 dots. xxxx contains either alphanum, or "-"
// zzzz is optional.. will contain everything up to the first space, newline,
// comma, double quote or <.

$ret = preg_replace("#(^|[\n ])((www|ftp)\.[\w\-]+\.[\w\-.\~]+(?:/[^ \"\t\n\r<]*)?)#is", "\\1<a href=\"http://\\2\" target=\"_blank\"><font color=\"Blue\">\\2</font</a>", $ret);
有關bbcode那些reg. 看以下的部份

$searcharray['bbcode_regexp'] = array(
                                                                "/\[url\]\s*(www.|https?:\/\/|ftp:\/\/|gopher:\/\/|news:\/\/|telnet:\/\/|rtsp:\/\/|mms:\/\/){1}([^\[\"']+?)\s*\[\/url\]/ie",
                                "/\[url=www.([^\[\"']+?)\](.+?)\[\/url\]/is",
                                "/\[url=(https?|ftp|gopher|news|telnet|rtsp|mms){1}:\/\/([^\[\"']+?)\](.+?)\[\/url\]/is",
                                );
                       

$replacearray['bbcode_regexp'] = array(
                                                                "<a href=\"http://www.\\1\" target=\"_blank\"><font color=\"blue\">\\2</font></a>",
                                "<a href=\"\\1://\\2\" target=\"_blank\"><font color=\"blue\">\\3</font></a>",
                        );
bbcode的match於link match比較好.



[如果你喜歡本文章,就按本文章之鮮花~送花給作者吧,你的支持就是別人的動力來源]
本文連接  
檢閱個人資料  訪問主頁  發私人訊息  Blog  快速回覆 新增/修改 爬文標記
soupjvc999
開墾隊副隊長
等級: 4


今日心情

 . 積分: 38
 . 文章: 277
 . 收花: 194 支
 . 送花: 77 支
 . 比例: 0.4
 . 在線: 132 小時
 . 瀏覽: 2100 頁
 . 註冊: 7964
 . 失蹤: 4825
 . 溺死單字海
#3 : 2006-4-6 01:10 AM     只看本作者 引言回覆

買本速查手冊一起沉淪吧
每個語言的 regular expression 都有小差異
又無法強記  還是靠小本的來幫助

中文
http://tlsj.tenlong.com.tw/WebMo ... 94494&sid=25094
英文
http://tlsj.tenlong.com.tw/WebMo ... 0415X&sid=17794



[如果你喜歡本文章,就按本文章之鮮花~送花給作者吧,你的支持就是別人的動力來源]
本文連接  
檢閱個人資料  發私人訊息  Blog  快速回覆 新增/修改 爬文標記
Vic
開墾隊隊長.苦力
等級: 32等級: 32等級: 32等級: 32等級: 32等級: 32等級: 32等級: 32
老得不能再稱小的熊

十週年紀念徽章(五級)   終生苦力熊勳章  

今日心情

 . 積分: 9409
 . 精華: 28
 . 文章: 9949
 . 收花: 79214 支
 . 送花: 10986 支
 . 比例: 0.14
 . 在線: 2902 小時
 . 瀏覽: 187021 頁
 . 註冊: 8017
 . 失蹤: 25
 . 大熊國
#4 : 2006-4-6 11:21 PM     只看本作者 引言回覆

有2個regular expression的網站推薦一下

http://www.regular-expressions.info/tutorial.html
http://regexlib.com/



[如果你喜歡本文章,就按本文章之鮮花~送花給作者吧,你的支持就是別人的動力來源]
本文連接  
檢閱個人資料  訪問主頁  發私人訊息  Blog  快速回覆 新增/修改 爬文標記
ROACH
版主
等級: 30等級: 30等級: 30等級: 30等級: 30等級: 30等級: 30等級: 30
減肥中!請勿餵食

十週年紀念徽章(四級)  

 . 積分: 15118
 . 精華: 14
 . 文章: 11766
 . 收花: 140844 支
 . 送花: 6005 支
 . 比例: 0.04
 . 在線: 8869 小時
 . 瀏覽: 85616 頁
 . 註冊: 8008
 . 失蹤: 1
 . 鄉下地方
#5 : 2006-4-7 12:14 AM     只看本作者 引言回覆

哈!!還是不了解~算了~~

偶也是第一次看到原來有regular expression這種東西~~
稍微去網路上查一下相關的資訊~

才發現!!!!越來越亂的~唉~


找個時間來研究一下好了~
嘿嘿~
Vic熊大您來個簡易教學好了~~




[如果你喜歡本文章,就按本文章之鮮花~送花給作者吧,你的支持就是別人的動力來源]
本文連接  
檢閱個人資料  訪問主頁  發私人訊息  Blog  快速回覆 新增/修改 爬文標記

   

快速回覆
表情符號

更多 Smilies

字型大小 : |||      [完成後可按 Ctrl+Enter 發佈]        

溫馨提示:本區開放遊客瀏覽。
選項:
關閉 URL 識別    關閉 表情符號    關閉 Discuz! 代碼    使用個人簽名    接收新回覆信件通知
發表時自動複製內容   [立即複製] (IE only)


 



所在時區為 GMT+8, 現在時間是 2024-5-3 01:48 AM
清除 Cookies - 連絡我們 - TWed2k © 2001-2046 - 純文字版 - 說明
Discuz! 0.1 | Processed in 0.022169 second(s), 7 queries , Qzip disabled