2009-10-21 140 views
6

我正在開發一個網頁,我接受來自用戶的輸入單詞,當用戶提交這些單詞時,我想要顯示這些單詞的定義或這些單詞的維基百科鏈接以獲得有關該單詞的更多定義 - 類似如下:PHP:單詞定義腳本?

比方說,用戶enetered 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。

回答

5

使用explode()功能爆炸用戶的消毒輸入爲單個單詞,然後使用Wikipedia APIapi.php)獲得的定義或維基鏈接。
除了提供API訪問權限的維基百科之外,還應該有其他的Web服務,只是谷歌他們。另外this可能是一個很好的指導,如果你想使用Javascript。

總體而言,格式良好的API不是語言相關的。通常它是XML或JSON(參見API Data formats,序列化PHP包括),對於XML情況,您可以使用本機PHP SimpleXML(指南here)或SimplePie庫。剛剛得到&解析!

+1

這是隻適用於.NET,我需要它的PHP :( – Prashant 2009-10-21 06:41:10

+0

目前只有幫助爲C#在該頁面上,而不是爲PHP。 – Natrium 2009-10-21 06:42:02

+5

鏈接現在已更正 – sepehr 2009-10-21 06:44:53

5

我建議您使用谷歌定義所選單詞的定義。 當你鍵入define:beans時,你會從google獲得一個單詞的定義列表。這谷歌搜索結果來自各種來源,但第一個是最正確的。

您需要使用Google搜索API搜索此詞,解析XML並向用戶顯示第一個結果。

您可以使用谷歌搜索從這個tutorial

API從Google Search API Documentation

的谷歌AJAX搜索API引用是 JavaScript庫,讓您 嵌入谷歌搜索在您的網頁 和其他網絡應用程序。對於Flash, 和其他非Javascript環境, 的API暴露原始的RESTful接口 返回JSON編碼 結果,很容易被 大多數語言和運行時處理。


舉例: 定義:牛谷歌搜索API將返回回了很多定義。 獲取搜索結果的第一個元素,解析它並將其顯示在單詞旁邊。

+0

是@Manish,這將是很好的,因爲谷歌已經幾乎所有單詞的定義,讓我試試它會讓你知道它是否有效...... – Prashant 2009-10-21 06:57:36

+0

是的,這就是爲什麼我要說使用谷歌。其次,當你完成後,請告訴我它是否有效。我使用過Google API,搜索一個總是被忽略 – 2009-10-21 07:00:38

+0

Hi @Manish:我嘗試了'define'計算機查詢'define'這個詞不起作用,並且沒有返回任何結果。轉到http://www.google.com/uds/samples/apidocs/tabbed.html並搜索'define:computer'並點擊網頁標籤,它沒有給出任何結果。我認爲google不提供任何結果ded支持從其搜索API中搜索定義 – Prashant 2009-10-22 19:29:31