作者HZYSoft (pcman.ptt.cc)
看板PCman
標題[心得]我終於發現一件事情...
時間Tue Feb 10 06:24:45 2004
原來超連結問題是要這樣解決的....
查看了 Linux 上的 Gnome terminal 程式碼,原來他的做法,跟我猜的一樣
難怪他可以完整支援超連結點選 (當然他也不可能做到支援多行網址)
不敢相信他真的是用 regular expression 去搜尋超連結,這實在是太沒效率了!
我之前就想過可以用 regular expression ,但是這實在太複雜了,又比較沒效率
何況,讓使用者用 regular expression 來設定那不如叫他們不要用算了
regular expression 是一種表示搜尋條件的特殊語法,對一般人來說根本看不懂
熟析 unix 操作的高手們也許很喜歡用,但要一般人去習慣用那種東西,那是沒可能的
他在每一行當中搜尋符合這樣特徵的東西,就當做超連結處理
"(((news|telnet|nttp|file|http|ftp|https)://([-A-Za-z0-9]+(:[-A-Za-z0-9,?;
.:/!%$^*&~\"#']+)?@)?)|(www|ftp)[-A-Za-z0-9]*\\.)[-A-Za-z0-9.]+(:[0-9]+)?
/[-A-Za-z0-9_$.+!*(),;:@&=?/~#%]*[^]'.}>) \t\r\n,\\\]"
這才是偵測超連結的完整方式,但問題是...有人知道這在幹麻嗎?
我查過 regular expression的文件,只是覺得真的要這樣搞太小題大作,而且真沒效率
而如果不寫死在程式裡面...那就意味著使用者要用上面那一串字來進行超連結設定
這鬼才會用...只是要打個 BBS 有需要這樣嗎? 還是別太誇張....
這樣又陷入苦思之中了,要用簡單的設定達成類似的功能好像沒可能...
唯一的方法還是只有超連結偵測方式寫死在程式裡,不能讓使用者改了??
其實真的說起來每種超連結偵測方式確實都不同,要讓使用者設定可能性很低
這也是為何其他軟體也只支援 http:// ftp:// 等常見連結,並且寫死在程式中
否則使用者就要直接用 regular expreession 來進行設定了!
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 140.129.59.3
1F:→ yuehyang:6^^ 再接再勵 ^o^ 推218.164.124.238 02/10
2F:→ mou3:雖然我看不太懂,但很感謝你的PCman,加油^^ 推 203.204.162.85 02/10
3F:→ NelsonT:我看得懂耶 XD 推 61.227.144.57 02/13