我正在开发一个网页,我接受来自用户的输入单词,当用户提交这些单词时,我想显示这些单词的定义,或者这些单词的维基百科链接以获得关于该单词的更多定义 - 类似于下列:
让我们说用户输了5个字:
toast, egg, beans, coffee, tea
现在我想将它们显示为:
toast › slices of bread that have been toasted egg › animal reproductive body consisting of an ovum or embryotogether with nutritive and protective envelopes beans › a small skullcap read more on wikipedia coffee › a beverage consisting of an infusion of ground coffee beans tea › a beverage made by steeping tea leaves in water read more on wikipedia
对于维基百科上没有文章的那些单词,不会显示维基链接.
有人可以建议我一些开源PHP脚本或包,这将为我做这个?或者,我很感激有关如何在PHP中执行此操作的任何建议.
我更感兴趣的是直接从其他网站获取数据,而不是在我的数据库中存储单词定义.
我正在使用PHP和MySQL.
使用explode()
函数将用户的清理输入分解为单个单词,然后使用Wikipedia API(请参阅api.php)获取定义或wiki链接.
应该有其他Web服务,除了维基百科,提供API访问,只有谷歌他们.另外这可能是一个很好的指导,如果你想让它在Javascript.
总的来说,格式良好的API不依赖于语言.通常它是XML或JSON(参见API数据格式,包括序列化的PHP),对于XML情况,您可以使用本机PHP SimpleXML(此处为 Guide )或SimplePie库.只是得到并解析!
我建议您使用Google定义中所选单词的定义.当你输入define:beans时,你会从google获得这个单词的定义列表.这个谷歌搜索结果来自各种来源,但第一个大多是正确的.
您需要使用Google Search API搜索此单词,解析XML并向用户显示第一个结果.
您可以使用本教程中的 Google Search API
引用Google Search API文档
Google AJAX搜索API是一个Javascript库,允许您在网页和其他Web应用程序中嵌入Google搜索.对于Flash和其他非Javascript环境,API公开了一个原始RESTful接口,该接口返回大多数语言和运行时都可以轻松处理的JSON编码结果.
示例:define:cow to Google Search API会返回很多定义.获取搜索结果的第一个元素,解析它并在单词旁边显示它.