PHP: скрипт определения слов?


Я разрабатываю веб-страницу, на которой я принимаю вводимые слова от пользователя, и когда пользователь отправляет эти слова, я хочу отобразить определение этих слов или ссылки на эти слова в Википедии для получения дополнительной информации об этом слове - что-то вроде следующего:

Допустим, пользователь ввел 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.

Author: jimmym715, 2009-10-21

3 answers

Разложите очищенный ввод пользователя на отдельные слова с помощью explode() функция, а затем используйте API Википедии ( см. api.php) чтобы получить определения или вики-ссылки.
Помимо Википедии, которая предоставляет доступ к API, должны быть и другие веб-сервисы, просто погуглите их. Также это может быть хорошим руководством, если вы хотите сделать это на Javascript.

В целом хорошо сформированный API не зависит от языка. Обычно это XML или JSON (см. Форматы данных API, включая сериализованный PHP ), для случая XML вы можете использовать собственный PHPSimpleXML (Руководство здесь) или библиотеку SimplePie. просто получите и проанализируйте!

 5
Author: sepehr, 2009-10-21 07:14:47

Я бы посоветовал вам использовать определение выбранных слов для определения Google. когда вы наберете define:beans, вы получите список определений слова из Google. Эти результаты поиска Google поступают из разных источников, но первый в основном правильный.

Вам нужно использовать Google Search API для поиска этого слова, проанализировать XML и показать первый результат пользователю.

Вы можете использовать API поиска Google из этого руководства

Цитата из Google Документация по API поиска

API поиска Google AJAX - это библиотека Javascript, которая позволяет вам встраивать поиск Google в ваши веб-страницы и другие веб-приложения. Для Flash и других сред, отличных от Javascript , API предоставляет необработанный интерфейс RESTful, который возвращает результаты в кодировке JSON, которые легко обрабатываются большинством языков и сред выполнения.


Пример: определите: cow для API поиска Google вернет множество определений. Получить первый элемент результата поиска, проанализируйте его и покажите рядом со словом.

 5
Author: Manish Sinha, 2009-10-21 06:40:44

Это будет включать в себя курс обучения, но я бы попробовал "Мой сайт с Википедией" - http://scripsi.mirrors.phpclasses.org/browse/package/2647.html

 3
Author: RSeidelsohn, 2009-10-21 06:35:29