為Web網站添加拼字檢查功能
許多開發人員都提出“如何對使用者輸入的內容進行拼字檢查”的問題,這篇文章正好提供了一個有用的方法,討論如何使用XDE拼字檢查組件,它既可以當作拼字檢查器,同時也可以做完一個字典。關於這個組件的一個好訊息是:它能夠在伺服器端使用,或者做為一個Java Applet。但是有一點,這些方便之處不是免費的,它要花費大約100美元。然而,該組件提供了一個30天免費使用評估版本,所以在真正決定購買前,你可以仔細進行測試,認真考慮是否滿足需要。
首先,訪問http://mirrordns.com/download/站點,輸入一些資訊(名字、電子郵件,等等),下載並安裝這個組件。下一步,從可供下載的XDE眾多組件中選擇 “Quick Spell Check Full Install”項目進行下載。下載完畢後,進行安裝。在安裝程式結束前,出現一個註冊登記菜單,這時,簡單地選擇預設選擇“Evaluation Period”。
注意,現在的程式還是BETA版本。如果你不希望發生潛在的錯誤,我建議等第一個正式版本出來後再下載進行實驗。我已經發現了現有版本的一些錯誤。你要記住:這是一個BETA版本,不要在正式網站上應用。
接著,準備註冊登記組件。現在決定一下你是否想要包含Word 97的字典和詞典功能,如果需要,請先在Web伺服器上安裝Word 97或者Word 2000,然後參照http://mirrordns.com/spellchecker/server_installation.htm 的說明執行一套特殊的命令。如果不想使用整個Word 97的字典,就象註冊其他組件一樣接著進行:
拷貝DLL檔案SpellCheckServer.dll到Windows的System或者System32目錄
使用regsvr32註冊組件:regsvr32 spellcheckserver.dll
現在安裝完組件,可以在ASP代碼中使用了。為了建立使用拼字檢查對象的樣本,僅僅簡單的編寫下面的代碼:
Set objSpellCheck = Server.CreateObject("SpellCheck.ClsChecker")
如我前面提到的,這個組件提供了拼字檢查和詞典的功能。首先,來看看如何返回給定單詞的一系列同義字。這要使用到LookupSynonym方法,該方法需要一個參數,就是需要尋找同義字的單詞。執行後,拼字檢查對象收集相關的單詞到集合對象SynonymWords。執行下面的代碼,將返回“Quick”單詞的所有同義字:
< %
Dim objSpellChecker, iLoop
’Create an instance of the SpellChecker
Set objSpellCheck = Server.CreateObject("SpellCheck.ClsChecker")
objSpellChecker.UseMSWord = False ’We’re not using MSWord
objSpellChecker.LookupSynonym "Quick" ’Lookup the synonym for "quick"
’Loop through the returned words:
Response.Write "The following synonyms for ’Quick’ exist: "
For iLoop = 1 To objSpellChecker.SynonymWords("Quick").SuggestedWords.Count
Response.Write objSpellChecker.SynonymWords("Quick").SuggestedWords(iLoop).word
Response.Write " "
Next
%>
在伺服器端執行拼字檢查對於代碼結構是非常緊湊的,但以我只見,要發揮強大的功能,必須依賴Java applet形式的拼字檢查。以下將重點討論如何應用這種方式,關於在伺服器端使用組件的方法,請參見http://mirrordns.com/spellchecker/ 。
為了使用Java applet,需要將安裝目錄下的.class檔案拷貝到一個web可訪問目錄。比如,這裡將檔案移動到/spellcheck目錄下。然後,建立一個表單,包含一個文字框或者文本域,其中是要進行拼字檢查的內容。
< HTML>
< BODY>
< FORM NAME="frmSpellCheckExample">
< textarea name="JavaTextArea" rows="8" cols="50">< P>
< INPUT TYPE="button" value="Start Spell Check" >
接著,使用APPLET標記來引用Java applet:
< applet codebase ="/spellcheck/" code="SpellCheck.class"
height="1" name="spellcheck" width="1"
ALT="Applet not displayed">
< param name="foreground" value="FFFFFF">
< param name="background" value="008080">
< param name="label" value="This string was passed from the HTML host.">
注意:在APPLET標記中的codebase參數指向.class檔案所在的目錄。
最後,在用戶端使用一段javascript代碼來組裝applet參數:
< script language="javascript">
function SpellCheck() {
document.spellcheck.ptexttocheck =
document.frmSpellCheckExample.JavaTextArea.value;
document.spellcheck.doDlg();
if (document.spellcheck.fixedtext!="") {
document.frmSpellCheckExample.JavaTextArea.value =
document.spellcheck.fixedtext;
}
}
這就完成了!如果想更多地瞭解如何使用該組件和Java Applet,一定來下面的地方看看:http://mirrordns.com/spellchecker/。