2009-10-21 10 views
6

Sto sviluppando una pagina Web su cui accetto le parole di input dell'utente e quando l'utente invia quelle parole, voglio visualizzare la definizione di quelle parole, o i collegamenti wikipedia di quelle parole per una maggiore definizione di quella parola - qualcosa di simile al seguente:PHP: script di definizione della parola?

Diciamo dell'utente enetered 5 parole:

toast, egg, beans, coffee, tea 

Ora voglio visualizzarli piace:

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> 

per quelle parole per le quali non esiste un articolo su Wikipedia, no il collegamento wiki verrebbe visualizzato.

Qualcuno può suggerirmi qualche script o pacchetto PHP open source che faccia questo per me? In alternativa, apprezzerei qualsiasi suggerimento su come farlo in PHP.

Sono più interessato a ottenere dati da qualche altro sito Web direttamente rispetto a quello che sto memorizzando le definizioni di parole nel mio database.

Sto usando PHP e MySQL.

risposta

5

esplodere ingresso sterilizzata dell'utente in singole parole utilizzando explode() la funzione e quindi utilizzare Wikipedia API (vedere api.php) per ottenere le definizioni o collegamenti wiki.
Ci dovrebbero essere altri servizi web oltre a Wikipedia che fornisce accesso API, solo Google loro. Anche this potrebbe essere una buona guida se vuoi farlo in Javascript.

Nel complesso, un'API ben formata non dipende dalla lingua. Di solito è XML o JSON (, vedere API Data formats, PHP serializzato incluso), per il caso XML è possibile utilizzare la libreria PHP nativa SimpleXML (Guida here) o SimplePie. prendi solo & parse!

+1

Questo è disponibile solo per .NET, ne ho bisogno per PHP :( – Prashant

+0

attualmente aiutare solo per C# in quella pagina, non per php. – Natrium

+5

collegamento è ora corretto. – sepehr

5

Ti suggerisco di utilizzare la definizione delle parole selezionate di Google Define. quando si digita define: beans, si otterrà un elenco di definizioni della parola da google. Questi risultati di ricerca di Google provengono da varie fonti, ma il primo è per lo più corretto.

È necessario utilizzare l'API di ricerca di Google per cercare questa parola, analizzare l'XML e mostrare il primo risultato all'utente.

È possibile utilizzare Google Search API da questo tutorial

Citando dal Google Search API Documentation

la ricerca di Google AJAX API è una libreria JavaScript che permette di incorporare Google Ricerca nelle tue pagine web e altre applicazioni web. Per Flash, e altri ambienti non JavaScript, , l'API espone un'interfaccia RAWRAW raw che restituisce risultati codificati JSON facilmente elaborabili da maggior parte delle lingue e dei runtime.


Esempio: definiscono: mucca per Google Search API sarebbe tornato indietro un sacco di definizioni. Prendi il primo elemento del risultato della ricerca, analizzalo e mostralo accanto alla parola.

+0

Sì @Manish, questo sarà un bene perché Google ha definizioni di quasi tutte le parole. Lascia che provi a farti sapere se funziona .... – Prashant

+0

Sì. È per questo che sto dicendo di usare Google. In secondo luogo quando hai finito, per favore dimmi se funziona o no. Le API di Google che ho usato, Ricerca ne è stata sempre esclusa –

+0

Ciao @Manish: ho provato ma "define: computer' query con' define' word non funziona e non restituisce alcun risultato.Ho controllato questo esempio di esempi. Vai a http://www.google.com/uds/samples/apidocs/tabbed.html e cerca "define: computer" e fai clic sulla scheda web, non dando alcun risultato. Penso che google non provi supporto ded per ricerca definizioni dalla sua API di ricerca – Prashant

Problemi correlati