账号通
    

账号  

密码  

1448

查看

0

回复
主题:[求助]自动获取关键词(tags)的问题,求程序高手解答 [收藏主题]  
jnletao 当前离线

49

主题

2

广播

0

粉丝
添加关注
级别:学前班

用户积分:467 分
登录次数:135 次
注册时间:2009/9/24
最后登录:2014/10/9
jnletao 发表于:2013/5/3 12:36:49   | 只看该作者 查看该作者主题 楼主 
科汛在线商城系统(NET)
科讯后台发布文章时可以自动从标题获取关键词,可是我发现获取的关键词有重复。比如标题  “科学家计划在撒哈拉沙漠兴建世界级太阳能发电站”会生成  太阳,太阳能,太阳能发电站  三个关键词,
如果我只想获取 "太阳能发电站" 这个最长的关键词。请问如何修改下程序代码。求高手解答

我知道科讯有个词库

zwck.txt,也查看它的相关KS_cls/Kesion.keycls.asp,


可惜对ASP代码不太熟,求高手对

Kesion.keycls.asp页面改动下。看能不能实现这个效果(自动获取最长关键词)。


下面是我提取的

Kesion.keycls.asp

部分代码来研究的,可是想不出好办法。


求高手看一下。





'参数:str 待检索的字符串 x 取长度 maxlen 最多返回长度

Function SplitKey(str, x,maxlen)

    LoadKey

Dim a, b 'As String

Dim i, j, flag, max, temp_str



a = str



'分词

For i = 1 To Len(a)

For j = 1 To x

a = a & Mid(a, i, j) & " "

Next

Next



a = Split(a, " ")

max = UBound(a)



'过滤重复字符串

For i = 0 To max - 1

flag = a(i)

For j = i + 1 To max - 1

If a(j) = flag And flag <> "" Then

a(j) = ""   

End If

Next

If a(i) <> "" Then

temp_str = temp_str & a(i) & " "

End If

Next



a = Split(temp_str, " ")

temp_str = ""

For i=0 to Ubound(a)

  If Instr(KeyList,"|" & a(i) & "|")<>0 Then

   temp_str =temp_str  & a(i) &  " "

   If len(temp_str)>maxlen and maxlen<>0 then exit for

  end if

Next

   

SplitKey=replace(trim(temp_str)," ",",")

End Function



'判断中文

function iscn(str)

Dim i

i = Len(str)

If i = 0 Then

   iscn = False

   Exit Function

End If



Do While i > 0

  If Asc(Mid(str, i, 1)) < 10000 And Asc(Mid(str, i, 1)) > -10000 Then

    iscn = False

    Exit Function

  End If

  i = i - 1

Loop

iscn = True

end function
 
  支持(0) | 反对(0) 回到顶部顶端 回到底部底部
<上一主题 | 下一主题 >
Powered By KesionCMS Version X1
厦门科汛软件有限公司 © 2006-2016 页面执行0.05078秒 powered by KesionCMS 9.0