明輝手游網中心:是一個免費提供流行視頻軟件教程、在線學習分享的學習平臺!

用ASP完成論壇的UBB技巧(一)

[摘要]前幾日我曾經閱讀到一篇技術文章講述如何使用VBScript中的正則表達式對象來實現論壇里面的UBB功能。VBScript提供的正則表達式對象功能非常強大,但是只有5。5以上的腳本引擎才可以很好的支持...
前幾日我曾經閱讀到一篇技術文章講述如何使用VBScript中的正則表達式對象來實現論壇里面的UBB功能。VBScript提供的正則表達式對象功能非常強大,但是只有5。5以上的腳本引擎才可以很好的支持正則表達式對象,為了獲得版本是
5。5的腳本引擎,你需要單獨安裝這個腳本引擎,或者安裝IE5.5,也就是說對服務器的要求比較苛刻,那就沒有其他的方法實現UBB功能了嗎?當然不是了,現在就跟隨我一同來使用普通的VBScript腳本語言來實現功能強大的UBB功能吧。
  先,在UBB功能中,核心功能也即最吸引人的功能是完全支持貼圖功能和字體屬性的控制。因為出于安全方面的原因,網絡上面的幾乎所有的論壇都盡可能的屏蔽掉了HTML代碼,這樣可以避免人為的有意無意的對論壇的破壞,這樣雖然保證了論壇自身的安全性,但是網友面對的貼子內容就始終是一成不變的顏色、字體、大小,更不要奢望看到絢麗多彩的圖片了。UBB代碼由此而生,具體來說說我們如何實現以上的UBB核心功能。
  下面我們先來詳細描述一下我們將要實現的UBB代碼的語法:
  一、 支持貼圖的UBB語法
  語法:[img]圖片路徑[/img]
  實例:[img]http://www.coolbel.com/chinagusu/logo.gif[/img]
  描述:上面語法的結果就是在網頁上面顯示出來一幅圖片
  二、 支持字體顏色的UBB語法:
  語法:[red]文字[/red]
  [green]文字[/green]
  等等
  實例:[blue]這是一段藍色的文字[/blue]
  描述:上面的一段語法就是顯示一段藍顏色的文字
  三、 支持超級連接的UBB代碼
  語法:連接地址
  實例:http://www.coolbel.com/chinagusu
  描述:上面的語法的結果就是生成一段超級連接,當你點擊的時候就會轉跳到連接的地址!
  四、 支持Email地址的UBB語法
  語法:你的email地址
  實例:uestc95@263.net
  描述:上面的代碼結果就是顯示一個郵件地址,當你用鼠標點擊的時候,就會自動打開發(fā)送電子郵件的軟件,并將地
址寫上。
  五、 支持字體屬性的UBB語法
  語法:一段文字 等等
  實例:一段粗體的文字
  描述:上面代碼的結果就是顯示一段粗體的文字
  好了,UBB代碼的核心功能就是上面的這些東西了,當然你還可以增加其他的種種功能因為這個UBB代碼的語法都是可
以自定義的。
  在我們開始具體實現UBB功能之前,我們先來了解幾個重要的VBScript函數:Instr函數和Replace函數。也許你看到這
里忍不住想要說,這也太簡單了吧,呵呵,其實這兩個函數的確是我們在編程當中使用比較頻繁的兩個函數,但是它也有自己的小秘密哦,我們先來看看這兩個函數的具體語法:
  InStr 函數
  返回某字符串在另一字符串中第一次出現的位置。
  InStr([start, ]string1, string2[, compare])
  參數
  start
  可選項。數值表達式,用于設置每次搜索的開始位置。如果省略,將從第一個字符的位置開始搜索。如果 start 包含 Null,則會出現錯誤。如果已指定 compare,則必須要有 start 參數。
  string1
  必選項。接受搜索的字符串表達式。
  string2
  必選項。要搜索的字符串表達式。
  compare
  可選項。指示在計算子字符串時使用的比較類型的數值。有關數值,請參閱"設置"部分。如果省略,將執(zhí)行二進制比
較。
  設置
  compare 參數可以有以下值:
  常數
  值
  描述
  vbBinaryCompare
  0
  執(zhí)行二進制比較。
  vbTextCompare
  1
  執(zhí)行文本比較。
  返回值
  InStr 函數返回以下值:
  如果
  InStr 返回
  string1 為零長度
  0
  string1 為 Null
  Null
  string2 為零長度
  start
  string2 為 Null
  Null
  string2 沒有找到
  0
  在 string1 中找到 string2
  找到匹配字符串的位置
  start > Len(string2)
  0