扫一扫
分享文章到微信
扫一扫
关注官方公众号
至顶头条
一个字符串如:str = " <p>依据季节变化和茶树新梢生长的间歇 <a href='#?id=2008'>年份2008 </a>平常清明过后春茶开始大 </p>" 我现在只想找到非html代码中的2008,并高亮显示,效果如下:str = " <p>依据季节变化和茶树新梢生长的间歇 <a href='#?id=2008'>年份 <label class='sr_word01'>2008 </label> </a>平常清明过后春茶开始大 </p>" 如果用 str..Replace("2008"," <label class='sr_word01'>2008 </label>") 就会把链接地址的参数id=2008中的2008也替换掉了。
Function ReplaceTest( strPatrn, ItemInfo )
Dim regEx
Dim str
Dim patrnArry
Dim patrn
Dim replStr
Dim nRTCount
Dim nArrayCount
str = ""
patrn = ""
replStr = ""
nArrayCount = 1
patrnArry = split( strPatrn, " " )
For nRTCount = 0 To UBound( patrnArry )
If IsEmptyString( Trim( patrnArry( nRTCount ) ) ) = false Then
replStr = replStr & " <font color='red'>$" & nArrayCount & " </font>"
nArrayCount = nArrayCount + 1
End If
Next
For nRTCount = 0 To UBound( patrnArry )
If IsEmptyString( Trim( patrnArry( nRTCount ) ) ) = false Then
patrn = patrn & "(" &Trim( patrnArry( nRTCount ) ) & ")|"
End If
Next
patrn = mid( patrn, 1, len( patrn ) - 1 )
Set regEx = New RegExp
regEx.Pattern = patrn
regEx.IgnoreCase = True
regEx.Global = True
ReplaceTest = regEx.Replace(ItemInfo, replStr)
End Function
一个文章阅读的网站,要搜索包含关键字的文章,并高亮显示关键字。
因为文章中包含有html代码,有可能在html代码中也包含这个关键字,
因此搜索 加高亮的时候不能给 <...>中的关键字加高亮
你说的那种情况,我觉得可以先把" <p>依据季节变化和茶树新梢生长的间歇 <a href='#?id=2008'>年份 <label class='sr_word01'>2008 </label> </a>平常清明过后春茶开始大 </p>"替换成"##1依据季节变化和茶树新梢生长的间歇 ##2年份 ##32008 ##4 ##5平常清明过后春茶开始大 ##6"然后你用replace来转换最后再把##1 ##2 ##3....恢复过来,之前先用正则把html代码 <....>都找出来放在一个string数组里。
如果您非常迫切的想了解IT领域最新产品与技术信息,那么订阅至顶网技术邮件将是您的最佳途径之一。
现场直击|2021世界人工智能大会
直击5G创新地带,就在2021MWC上海
5G已至 转型当时——服务提供商如何把握转型的绝佳时机
寻找自己的Flag
华为开发者大会2020(Cloud)- 科技行者