精品久久看,欧美成人久久一级c片免费,日本加勒比在线精品视频,国产一区二区三区免费大片天美,国产成人精品999在线,97理论三级九七午夜在线观看

當前位置: 首頁IT技術 → 教你如何利用ASP實現論壇的UBB功能

教你如何利用ASP實現論壇的UBB功能

更多

本文章將給大家分享介紹到的是關于如何實現論壇的UBB功能,現在一起來看一下如何使用普通的VBScript腳本語言來實現功能強大的UBB功能吧。

  首先,在UBB功能中,核心功能也即最吸引人的功能是完全支持貼圖功能和字體屬性的控制。因為出于安全方面的原因,網絡上面的幾乎所有的論壇都盡可能的屏蔽掉了HTML代碼,這樣可以避免人為的有意無意的對論壇的破壞,這樣雖然保證了論壇自身的安全性,但是網友面對的貼子內容就始終是一成不變的顏色、字體、大小,更不要奢望看到絢麗多彩的圖片了。UBB代碼由此而生,具體來說說我們如何實現以上的UBB核心功能。

  下面我們先來詳細描述一下我們將要實現的UBB代碼的語法:

  一、支持貼圖的UBB語法

  語法:[img]圖片路徑[/img] 

  實例:[img]http://www.webjx.com/logo.gif[/img]

  描述:上面語法的結果就是在網頁上面顯示出來一幅圖片

  二、支持字體顏色的UBB語法:

  語法:[red]文字[/red] 

  [green]文字[/green] 

  等等

  實例:[blue]這是一段藍色的文字[/blue] 

  描述:上面的一段語法就是顯示一段藍顏色的文字

  三、支持超級連接的UBB代碼

  語法:連接地址 

  實例:http://www.webjx.com 

  描述:上面的語法的結果就是生成一段超級連接,當你點擊的時候就會轉跳到連接的地址!

  四、支持Email地址的UBB語法

  語法:你的email地址[/email] 

  實例:info@webjx.com 

  描述:上面的代碼結果就是顯示一個郵件地址,當你用鼠標點擊的時候,就會自動打開發送電子郵件的軟件,并將地址寫上。

  五、支持字體屬性的UBB語法

  語法:一段文字等等

  實例:一段粗體的文字 

  描述:上面代碼的結果就是顯示一段粗體的文字

  好了,UBB代碼的核心功能就是上面的這些東西了,當然你還可以增加其他的種種功能因為這個UBB代碼的語法都是可以自定義的。

  在我們開始具體實現UBB功能之前,我們先來了解幾個重要的VBScript函數:Instr函數和Replace函數。也許你看到這里忍不住想要說,這也太簡單了吧,呵呵,其實這兩個函數的確是我們在編程當中使用比較頻繁的兩個函數,但是它也有自己的小秘密哦,我們先來看看這兩個函數的具體
語法:

  InStr函數

  返回某字符串在另一字符串中第一次出現的位置。

  InStr([start, ]string1, string2[, compare]) 

  參數

  start 

  可選項。數值表達式,用于設置每次搜索的開始位置。如果省略,將從第一個字符的位置開始搜索。如果start包含Null,則會出現錯誤。如果已指定compare,則必須要有start參數。

  string1 

  必選項。接受搜索的字符串表達式。

  string2 

  必選項。要搜索的字符串表達式。

  compare 

  可選項。指示在計算子字符串時使用的比較類型的數值。有關數值,請參閱"設置"部分。如果省略,將執行二進制比較。

  設置

  compare參數可以有以下值:

  常數

  值

  描述

  vbBinaryCompare 

  0 

  執行二進制比較。

  vbTextCompare 

  1 

  執行文本比較。

  返回值

  InStr函數返回以下值:

  如果

  InStr返回

  string1為零長度

  0 

  string1為Null 

  Null 

  string2為零長度

  start 

  string2為Null 

  Null 

  string2沒有找到

  0 

  在string1中找到string2 

  找到匹配字符串的位置

  start > Len(string2) 

  0 

  大家應當注意到了,我們所要用的函數Instr的小秘密就是它的最后一個可選擇參數Compare,因為我們的UBB代碼需要大小寫不敏感的,默認的情況下,函數Instr是要進行二進制匹配的,也就是說是對大小寫敏感的,所以記住了,這個Compare參數的值應當設置成為1才可以滿足我們的要求。

  Replace函數

  返回字符串,其中指定數目的某子字符串被替換為另一個子字符串。

  Replace(expression, find, replacewith[, compare[, count[, start]]])


  參數

  expression 

  必選項。字符串表達式包含要替代的子字符串。

  Find 

  必選項。被搜索的子字符串。

  Replacewith 

  必選項。用于替換的子字符串。

  Start 

  可選項。expression中開始搜索子字符串的位置。如果省略,默認值為1。在和count關聯時必須用

  count 

  可選項。執行子字符串替換的數目。如果省略,默認值為-1,表示進行所有可能的替換。在和start關聯時必須用。

  Compare 

  可選項。指示在計算子字符串時使用的比較類型的數值。有關數值,請參閱"設置"部分。如果省略,缺省值為0 ,這意味著必須進行二進制比較。

  設置

  compare參數可以有以下值:

  常數

  值

  描述

  vbBinaryCompare 

  0 

  執行二進制比較。

  vbTextCompare 

  1 

  執行文本比較。

  返回值

  Replace返回以下值:

  如果

  Replace返回

  expression為零長度

  零長度字符串("")。

  expression為Null 

  錯誤。

  find為零長度

  expression的副本。

  replacewith為零長度

  expression的副本,其中刪除了所有由find參數指定的內容。

  start > Len(expression) 

  零長度字符串。

  count為0 

  expression的副本。

  這里我們應當注意的自然也是這個Replace的Compare可選擇參數了,這樣我們在進行UBB代碼全程替換的時候才可以保證對大小寫的不敏感。

  其實,實現UBB代碼的程序核心思想都是相同的,實現了其中的一個,其他的也都是迎刃而解的了。下面我們以比較困難并且有代表性的……語法的實現為例來詳細講解如何實現他:

  首先,我們可以分析出來,在一段文章當中,要實現這個功能,其實也就是將形式為http://xxx.xxx.xxx的字符串找出來,并且加以適當的替換,并且要全程替換,也就是說,你要設法記住你的每一步所在的位置,以便依次進行替換,下面就是實現這個UBB語法的函數代碼:(里面有詳細注釋) 

  Function LinkURLs(strInput) 

  Dim iCurrentLocation 

  Dim iLinkStart 

  Dim iLinkEnd 

  Dim strLinkText 

  Dim strOutPut 

  '初始化變量

  strLinkText="" 

  strOutput="" 

  iCurrentLocation=1 

  Do while Instr(iCurrentLocation,strInput,"開始位置

  iLinkEnd=Instr(iCurrentLocation+1,strInput,"" TARGET=_blank>",1) '記錄下開始位置

  iLinkEnd=Instr(iCurrentLocation+1,strInput,"",1) '記錄下結束位置

  If iLinkEnd=0 then iLinkEnd=len(strINput)+1 

  select case Mid(strInput,iLinkEnd-1,1) 

  case ".","!","?" 

  iLinkEnd=iLinkEnd-1 '剔除多余標點符號

  end select 

  stroutput=strOutput&Mid(strInput,iCurrentLocation,iLinkStart
-iCurrentLocation) 

  strLinkText=replace(Mid(strInput,iLinkStart+5,iLinkEnd-iLinkStart
-5),"" TARGET=_blank>",1)<>0 '查找UBB語法字符串

  iLinkStart=Instr(iCurrentLocation,strInput,"開始位置

  iLinkEnd=Instr(iCurrentLocation+1,strInput,"",1) '記錄下結束位置

  If iLinkEnd=0 then iLinkEnd=len(strINput)+1 

  select case Mid(strInput,iLinkEnd-1,1) 

  case ".","!","?" 

  iLinkEnd=iLinkEnd-1 '剔除多余標點符號

  end select 

  stroutput=strOutput&Mid(strInput,iCurrentLocation,iLinkStart-iCurrentLocation) 

  strLinkText=replace(Mid(strInput,iLinkStart+5,iLinkEnd-iLinkStart-5),"","") 

  strOutput=strOutput&""&strLinkText&"" 

  iCurrentLocation=iLinkEnd '記錄下當前游標位置

  Loop 

  strOutput=strOutput&Mid(strInput,iCurrentLocation) 

  LinkURLs=replace(strOutput,"[/url]","",1,-1,1) 

  End Function 

  好了,通過上面的這個實現……功能的函數,我們可以以此類推得到實現其他UBB語法的函數,限于篇幅,我就不一一加以祥述了,你可以將這些函數放到一個文件中,形成一個UBB代碼函數庫,這樣就可以方便的在你的程序當中加以引用了。

  怎么樣,通過我們自己的努力,現在我們的論壇也可以完全支持UBB代碼功能了,我們的論壇現在也會變得色彩斑斕,圖文并茂了,也必將會吸引到更多的網友,:) 

  關于上面文章的實際應用例子,您可以在這里訪問到:Http://TechTop.Yeah.Net

  (以上所有程序均在Windows9x/NT,IIS/PWS,access/SQL7上面運行通過)

熱門評論
最新評論
昵稱:
表情: 高興 可 汗 我不要 害羞 好 下下下 送花 屎 親親
字數: 0/500 (您的評論需要經過審核才能顯示)
主站蜘蛛池模板: 精品一区二区三区高清免费观看 | 看片一区 | 中文字幕日本一区久久 | 辘轳女人和井电视剧全集播放 | 欧美成人一区二区三区不卡 | 亚洲成a人片777777久久 | 婷婷人人爽人人爽人人片 | 国产高清a | 久久久青草 | 婷婷亚洲综合五月天小说 | 每日更新在线观看 | 亚洲国产成人精品区 | 丁香视频在线观看播放 | 国产一区二区三区四卡 | 天天爱天天做天天爽天天躁 | 四虎免费最新在线永久 | 久久精品国产99久久99久久久 | 精品亚洲欧美高清不卡高清 | 中文字幕不卡免费视频 | 国产成人视屏 | 免费人成毛片动漫在线播放 | 成人精品在线观看 | 中文一级国产特级毛片视频 | 国产精品综合一区二区三区 | 免费色网址 | 91久久精品日日躁夜夜躁欧美 | 你懂的视频网站 | 久久精品久久精品久久精品 | 丁香婷婷综合网 | 久久久国产成人精品 | 国产成人精品一区二区 | 欧美在线日韩在线 | 久视频在线观看久视频 | 日本不卡一区二区三区 | 3d动漫精品啪啪一区二区中 | 午夜国产小视频 | 97国产精品最新 | 婷婷六月丁香色婷婷网 | 黄色网址国产 | 欧美成人丝袜一区二区 | 精品区在线观看 |