2009-10-21 8 views
6

Je développe une page Web sur laquelle j'accepte les mots d'entrée de l'utilisateur, et quand l'utilisateur soumet ces mots, je veux afficher la définition de ces mots, ou les liens wikipédia de ces mots pour plus de définition de ce mot - quelque chose comme ce qui suit:PHP: script de définition de mot?

Supposons que l'utilisateur enetered 5 mots:

toast, egg, beans, coffee, tea 

maintenant, je veux les afficher comme:

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> 

pour ces mots pour lesquels il n'y a pas d'article sur wikipedia, non Le lien wiki serait affiché.

Quelqu'un peut-il me suggérer un script PHP open-source ou un paquet qui ferait cela pour moi? Sinon, j'apprécierais toutes les suggestions sur la façon de le faire en PHP.

Je suis plus intéressée à obtenir des données d'un autre site directement que de stocker des définitions de mots dans ma base de données. J'utilise PHP et MySQL.

Répondre

5

Exploser l'entrée aseptisé de l'utilisateur en mots simples en utilisant explode() fonction puis utilisez Wikipedia API (voir api.php) pour obtenir des définitions ou des liens wiki.
Il devrait y avoir d'autres services Web en dehors de Wikipedia qui fournit un accès API, juste Google eux. Aussi this pourrait être un bon guide si vous voulez le faire en Javascript. Dans l'ensemble, une API bien formée n'est pas dépendante de la langue. Habituellement c'est XML ou JSON (voir API Data formats, PHP sérialisé inclus), pour le cas XML vous pouvez utiliser la bibliothèque natif PHP SimpleXML (Guide here) ou SimplePie. juste obtenir & analyser!

+1

Ceci est seulement disponible pour .NET, je l'ai besoin pour PHP :( – Prashant

+0

actuellement seulement l'aide pour C# sur cette page, pas pour le lien php – Natrium

+5

est maintenant corrigé – sepehr

5

Je vous suggère d'utiliser la définition des mots sélectionnés pour Google Define. lorsque vous tapez define: beans, vous obtenez une liste de définition du mot de google. Ces résultats de recherche google proviennent de diverses sources, mais le premier est la plupart du temps correct.

Vous devez utiliser l'API de recherche Google pour rechercher ce mot, analyser le code XML et afficher le premier résultat pour l'utilisateur.

Vous pouvez utiliser l'API de Google de cette tutorial

Je cite la Google Search API Documentation

L'API de recherche Google AJAX est une bibliothèque Javascript qui vous permet de intégrer Google Search dans vos pages web et d'autres applications Web. Pour Flash, et d'autres environnements non-Javascript, l'API expose une interface RESTful RESTful qui renvoie des résultats JSON codés qui sont facilement traitées par la plupart des langues et des runtimes.


Exemple: définir: vache à l'API de Google serait revenir beaucoup de définitions. Obtenez le premier élément du résultat de recherche, analysez-le et affichez-le à côté du mot.

+0

Oui @Manish, ce sera bien parce que google a Laissez-moi essayer de vous dire si cela fonctionne .... – Prashant

+0

Oui, c'est pourquoi je dis d'utiliser Google Deuxièmement, quand vous avez terminé, s'il vous plaît dites-moi si cela fonctionne ou non. J'ai utilisé l'API Google, la recherche a toujours été omise –

+0

Salut @Manish: J'ai essayé mais la requête 'define: computer' avec le mot' define' ne fonctionne pas et ne renvoie aucun résultat.J'ai vérifié cela dans des exemples d'exemples. Allez sur http://www.google.com/uds/samples/apidocs/tabbed.html et recherchez «define: computer» et cliquez sur l'onglet Web, cela ne donne aucun résultat. supporté pour la recherche de définitions à partir de l'API de recherche – Prashant

Questions connexes