国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 編程 > ASP > 正文

用ASP實現論壇的UBB功能(二)

2019-11-18 21:30:36
字體:
來源:轉載
供稿:網友
大家應當注意到了,我們所要用的函數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代碼的程序核心思想都是相同的,實現了其中的一個,其他的也都是迎刃而解的了。下面我們以比較困難并且有代表性的[url]……[/url]語法的實現為例來詳細講解如何實現他:
  首先,我們可以分析出來,在一段文章當中,要實現這個功能,其實也就是將形式為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,"[url]",1)<>0 '查找UBB語法字符串
  iLinkStart=Instr(iCurrentLocation,strInput,"[url]",1) '記錄下開始位置
  iLinkEnd=Instr(iCurrentLocation+1,strInput,"[/url]",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),"[/url]","")
  strOutput=strOutput & "" & strLinkText & ""
  iCurrentLocation=iLinkEnd '記錄下當前游標位置
  Loop
  strOutput=strOutput & Mid(strInput,iCurrentLocation)
  LinkURLs=replace(strOutput,"[/url]","",1,-1,1)
  End Function
  好了,通過上面的這個實現[url]……[/url]功能的函數,我們可以以此類推得到實現其他UBB語法的函數,限于篇幅,我就不一一加以祥述了,你可以將這些函數放到一個文件中,形成一個UBB代碼函數庫,這樣就可以方便的在你的程序當中加以引用了。
  怎么樣,通過我們自己的努力,現在我們的論壇也可以完全支持UBB代碼功能了,我們的論壇現在也會變得色彩斑斕,圖文并茂了,也必將會吸引到更多的網友,:)
  關于上面文章的實際應用例子,您可以在這里訪問到: Http://TechTop.Yeah.Net
  (以上所有程序均在Windows9x/NT,IIS/PWS,access/SQL7上面運行通過)(北京 蘇紅超)
 
發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表

圖片精選

主站蜘蛛池模板: 哈巴河县| 扬州市| 东光县| 朝阳区| 贵港市| 朝阳市| 进贤县| 建昌县| 兴文县| 安西县| 邯郸市| 潮州市| 嘉兴市| 永川市| 同德县| 霸州市| 和田县| 丽江市| 祥云县| 丹江口市| 呼图壁县| 新宾| 黄龙县| 宜春市| 霍城县| 剑河县| 宜黄县| 江孜县| 九台市| 四川省| 乐东| 宜川县| 博罗县| 新乡市| 修武县| 沂源县| 建昌县| 亳州市| 隆安县| 峨边| 涿州市|