程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> 網頁編程 >> ASP編程 >> ASP技巧 >> replace自動給文章內容中的分類名稱加上鏈接,且只加一次

replace自動給文章內容中的分類名稱加上鏈接,且只加一次

編輯:ASP技巧

由於公司SEO人員的建議:要求編輯添加內容的時候,需要將文章內容中的一些產品分類名稱自動加上鏈接。而每遍文章的內容很多,編輯找起來不方便,還有可能漏掉一些,如果他們為了找這個,太影響編輯每天添加新聞數量了。所以編輯問一下我們,希望我來在程序中解決這樣的問題。

功能:自動給文章內容中的分類名稱加上鏈接,並且相同的分類名稱只加一次

拿到這個問題,第一就想到ASP中的函數replace來替換,按照我們習慣性的寫法。整個頁面上的分類名稱都被替換了。因為我們常用的寫法是:replace(str,a,b);
正是這個原因,會出現上面的問題。其實replace還有兩個參數我們很少用到。

看一下replace語法:
描述: 返回字符串,其中指定數目的某子字符串被替換為另一個子字符串。 
語法: Replace(expression, find, replacewith[ ,start[,count[,compare]]])
Replace 函數的語法有以下參數: 
參數: 
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 函數的返回值是經過替換(從由 start 指定的位置開始到 expression 字符串的結尾)後的字符串,而不是原始字符串從開始至結尾的副本。

了解了replace的另外幾個參數的用法,對於這個問題就好解決了
代碼如下:

vIEw source print? 01 <!--#include File="Conn.ASP"--> 02 <% 03 Str = 要替換的文章內容 04 然後循環分類 05 Set rs = server.CreateObject(adodb.recordset) 06 sql = Select classname, classid from category where status = 1 order by classid desc 07 rs.Open sql, conn, 1, 1 08 If Not rs.EOF Then 09     Do While Not rs.EOF 10         classid = rs(classid) 11         classname = rs(classname) 12         Str = Replace(Str, classname, <a href = "/products.ASP?cid=&classid&" target = "_blank">&classname&< / a>, 1, 1) 13         rs.movenext 14     Loop 15 End If 16 rs.Close 17 Set rs = Nothing 18 conn.Close 19 Set conn = Nothing 20 response.Write St
  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved