我是先做抓取新聞時自動添加要害字后,想到手工添加新聞時也可以把這個功能用上去。所以兩段程序可以說是完全一樣的,只是應用的場所不同~
請先備份:
Admin/Info/NewsWords.asp
下面開始修改:
1、打開Admin/Info/NewsWords.asp,拉到倒數第二行(也就是%>的前面),把下面的代碼貼上去。
'************************************
'author:lino
'把標題與要害字表中的記錄匹配
'Start
'*************************
Function replaceKeywordByTitle(title)
Dim whereisKeyword,i,theKeywordOnNews
Dim keyword,rsRuleObj,theKeywordS
Set RsRuleObj = Conn.Execute("Select * from Routine")
do while Not RsRuleObj.Eof
keyword = RsRuleObj("name")
whereisKeyword = InStr(Lcase(title),Lcase(keyword))
if(whereisKeyword>0) then
if(theKeywordOnNews="") then
theKeywordOnNews=keyword
else
theKeywordOnNews=theKeywordOnNews&","&keyword
end if
end if
RsRuleObj.MoveNext
loop
'假如keyword的長度大于100,截去過長的
if(len(theKeywordOnNews)>99) then
theKeywordOnNews=left(theKeywordOnNews,99)
end if
replaceKeywordByTitle = theKeywordOnNews
End function
'**********************
'End
在同一頁面(即Admin/Info/NewsWords.asp)中找到
INewsAddObj("KeyWords") = Replace(Replace(Requst("KeywordText"),"""",""),"'","")
或約637行,把
INewsAddObj("KeyWords") = Replace(Replace(Requst("KeywordText"),"""",""),"'","")
換成
'************************************
'author:lino
'把調用replaceKeywordByTitle方法,過濾要害字
'假如用戶自定義了要害字,自動設置要害字不起作用
'Start
'*************************
Dim KeywordText
if (Request("KeywordText")="" or isempty(Request("KeywordText"))) then
KeywordText = replaceKeywordByTitle(ITitle)
else
KeywordText = Request("KeywordText")
end if
if KeywordText <> "" then
INewsAddObj("KeyWords") = Replace(Replace(KeywordText,"""",""),"'","")
end if
'End
'***********************************
新聞熱點
疑難解答