我正在开发一个网页,我接受用户输入的单词,当用户提交这些单词时,我想显示这些单词的定义,或者这些单词的维基百科链接,以获得关于该单词的更多定义 - - 类似于以下内容:
假设用户输了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 <link to wikipedia>read more on wikipedia</link>
coffee › a beverage consisting of an infusion of ground coffee beans
tea › a beverage made by steeping tea leaves in water <link to wikipedia>read more on wikipedia</link>
对于维基百科上没有文章的单词,不会显示维基链接。
有人可以建议我使用一些开源PHP脚本或程序包来为我做这个吗?或者,我很感激有关如何在PHP中执行此操作的任何建议。
我更感兴趣的是直接从其他网站获取数据,而不是在我的数据库中存储字词定义。
我正在使用PHP和MySQL。
答案 0 :(得分:5)
使用explode()
函数将用户的清理后的输入分解为单个单词,然后使用Wikipedia API(请参阅api.php )获取定义或wiki链接。 />
应该有其他Web服务,除了维基百科,提供API访问,只有谷歌他们。如果你想在Javascript中制作它,this也可以是一个很好的指南。
总的来说,格式良好的API不依赖于语言。通常它是XML或JSON(参见API Data formats,包含序列化的PHP ),对于XML情况,您可以使用本机PHP SimpleXML(指南here)或{ {3}}库。只是得到&amp;解析!
答案 1 :(得分:5)
我建议您使用Google定义中所选单词的定义。 当你输入define:beans时,你会从google获得这个单词的定义列表。这个谷歌搜索结果来自各种来源,但第一个大多是正确的。
您需要使用Google Search API搜索此单词,解析XML并向用户显示第一个结果。
您可以使用此tutorial
中的Google搜索API从Google Search API Documentation
引用Google AJAX Search API是一个 允许您使用的Javascript库 在您的网页中嵌入Google搜索 和其他Web应用程序。对于Flash, 和其他非Javascript环境, API公开原始RESTful 返回JSON编码的接口 结果易于处理 大多数语言和运行时。
实施例: define:cow to Google Search API会返回很多定义。 获取搜索结果的第一个元素,解析它并将其显示在单词旁边。