由於公司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的另外幾個參數的用法,對於這個問題就好解決了
代碼如下: