欢迎光临

木子屋

标题: 实现PJBlog3关键词识别替换不区分大小写的方法

作者: dnawo

日期: 2011-11-20 09:58 AM

分类: 程序修改

内容:
如上图所示，PJBlog3后台的关键词功能可以为博文中一些特定的关键词加上链接，从SEO角度来说，这对做站内链接极有帮助，但经实际测试，添加上图关键词后，只能实现替换博文中出现的关键词asp.net，而对ASP.NET、asp.NET就失效了，也就是说，PJBlog3替换的时候是区分大小写的，查看了相关代码后，最终解决了该问题。
实现PJBlog3关键词识别替换不区分大小写的方法
打开common/ubbcode.asp文件，找到如下代码：
复制内容到剪贴板 程序代码'-----------关键词识别----------------
If AutoKEY = 1 Then
Dim log_Keywords, log_KeywordsContent
For Each log_Keywords IN Arr_Keywords
log_KeywordsContent = Split(log_Keywords, "$|$")
If log_KeywordsContent(3)<>"None" Then
strContent = Replace(strContent, log_KeywordsContent(1), "<a href="""&log_KeywordsContent(2)&""" target=""_blank""><img src=""images/keywords/"&log_KeywordsContent(3)&""" border=""0"" alt=""""/> "&log_KeywordsContent(1)&"</a>")
Else
strContent = Replace(strContent, log_KeywordsContent(1), "<a href="""&log_KeywordsContent(2)&""" target=""_blank"">"&log_KeywordsContent(1)&"</a>")
End If
Next
End If
修改为：
复制内容到剪贴板 程序代码'-----------关键词识别----------------
If AutoKEY = 1 Then
Dim log_Keywords, log_KeywordsContent
Dim regEx
SET regEx = new RegExp
'regEx.Pattern = "(s)$"
regEx.IgnoreCase = True
regEx.Global = True
For Each log_Keywords IN Arr_Keywords
log_KeywordsContent = Split(log_Keywords, "$|$")
regEx.Pattern = "("&log_KeywordsContent(1)&")"
If log_KeywordsContent(3)<>"None" Then
strContent = regEx.Replace(strContent, "<a href="""&log_KeywordsContent(2)&""" target=""_blank""><img src=""images/keywords/"&log_KeywordsContent(3)&""" border=""0"" alt=""""/>$1</a>")
Else
strContent = regEx.Replace(strContent, "<a href="""&log_KeywordsContent(2)&""" target=""_blank"">$1</a>")
End If
Next
SET regEx = Nothing
End If
后记
虽然Replace函数最后一个参数也能解决大小写匹配的问题：Replace(str1,str2,1,-1,1)，但是经它替换后，原先博文内容中的ASP.NET、asp.NET都统一成了小写asp.net，不太完美，所以改用正则来替换。
本次测试使用PJBlog版本为PJBlog3 v3.1.6.227。

+ 查看当前日志评论 (0)

登录

────────────

木子屋

PJBlog3 v3.2.9.518 Inside.

Processed In 1.100 ms

返回

标题: 实现PJBlog3关键词识别替换不区分大小写的方法

你没有权限发表评论

────────────

木子屋

PJBlog3 v3.2.9.518 Inside.

Processed In 1.100 ms

返回

暂无评论

返回

────────────

木子屋

PJBlog3 v3.2.9.518 Inside.

Processed In 1.115 ms

返回