许多开发者都提出“如何对用户输入的内容进行拼写检查”的问题,这篇文章正好提供了一个有用的方法,讨论如何使用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
%>