asp 标记字符串中指定字符变色不区分大小写

今天遇到这种问题,单纯的使用replace函数不行,他会改变原有的字符串的大小写

在网上找到相关的代码,自己备份下 

普通的替换函数

public function HighLight(S,F) 
dim tL,tM,tR,k 
tL="" 
tM="" 
tR=S 
k=instr(1,tR,F,1) 
do while k>0 
tL=tL & left(tR,k-1) 
tM=mid(tR,k,len(F)) 
tL=tL & "<span style='color:red'>" & tM & "</span>" 
tR=right(tR,Len(tR)-len(F)-k+1) 
k=instr(1,tR,F,1) 
loop 
HighLight=tL & tR 
end function 

 tS="abcaBcabCaBCabcaBCa" 

tF="bc" 
response.Write(tS) 
response.Write("<br/>") 

response.Write(HighLight(tS,tF))

 正则表达式

Function HighLight(S,F) 
Dim regEx 
Set regEx = New RegExp 
regEx.IgnoreCase = True 
regEx.Global = True 
regEx.Pattern = "(" & F & ")" 
HighLight = regEx.Replace(S,"<span style='color:red'>$1</span>") 
End Function 
Response.write HighLight("abcaBcabCaBCabcaBCa","bc") 

 不错

原文地址:https://www.cnblogs.com/ly312/p/2621884.html