又一陣子沒有把 ASP 翻出來了,剛好有個需求是要將 WinForm 程式寫入的資料中,只要含有 http 或 ftp 的連結文字,在網頁上顯示時直接讓它變成可以點選。
這樣的功能看似簡單,但是做起來感覺有點麻煩,因為文字的內容得修改如下:
XXXXXXXX http://aaa.bbb.ccc/ddd/eee.zip XXXXXXXXXXXXXXXXXXXX,XXXXXXXXXXXXXXXXXXXX
XXXXXXXX http://aaa.bbb.ccc/ddd/eee.zipXXXXXXXXXXXXXXXXXXXX,XXXXXXXXXXXXXXXXXXXX不但找到的連結要多複製一份,還得把它包進 的標籤中;還好,這一陣子剛好在看正規表示法,找了一下 vbscript 裡正規表示法的使用方式後,就可以用比較優雅的方式把需要的功能做出來了,真棒!
程式碼如下:
Dim regEx, Match, Matches ' 建立變量。
Set regEx = New RegExp ' 建立正則表達式。
regEx.Pattern = "((h|f)[t]?tp:\/\/[^ ]+)" ' 設置模式。
regEx.IgnoreCase = True ' 設置是否區分字符大小寫。
regEx.Global = True ' 設置全局可用性。
ReplacedString = regEx.Replace(strng, "$1") ' 執行搜索。