J'ai rencontré ce problème aujourd'hui. La simple utilisation de la fonction de remplacement ne fonctionnera pas. Cela modifiera la casse de la chaîne d'origine. Recherchez le code correspondant sur Internet et sauvegardez-le vous-même.
Fonction de remplacement ordinaire
Copiez le code comme suit :
fonction publique Highlight(S,F)
faible tL,tM,tR,k
tL=""
tM=""
tR=S
k=instr(1,tR,F,1)
faire pendant que k>0
tL=tL & gauche(tR,k-1)
tM=milieu(tR,k,len(F))
tL=tL & "<span>" & tM & "</span>"
tR=droite(tR,Len(tR)-len(F)-k+1)
k=instr(1,tR,F,1)
boucle
Highlight=tL & tR
fonction de fin
tS="abcaBcabCaBCabcaBCa"
tF="bc"
réponse.Write(tS)
réponse.Write("<br/>")
réponse.Write(HighLight(tS,tF))
expression régulière
Copiez le code comme suit :
Fonction Highlight (S, F)
Dim regEx
Définir regEx = Nouvelle RegExp
regEx.IgnoreCase = Vrai
regEx.Global = Vrai
regEx.Pattern = "(" & F & ")"
HighLight = regEx.Replace(S,"<span>$1</span>")
Fonction de fin
Réponse.write HighLight("abcaBcabCaBCabcaBCa","bc")