Я пытаюсь реализовать службу словарного типа.
Я отправляю запрос с php с помощью cURL на dict.org с протоколом dict.
Это мой код (который сам по себе работает и может быть полезен для будущих читателей):
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, "dict://dict.org/define:(hello):english:exact");
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
$definition = curl_exec($ch);
curl_close($ch);
echo $definition;
Сервер возвращает определение, как и ожидалось, вместе с несколькими заголовками (которые мне не нужны). Ответ выглядит примерно так:
220 miranda.org dictd 1.9.15/rf on Linux 2.6.26-2-686 <auth.mime> <29631663.31530.1250750274@miranda.org>
250 ok
150 3 definitions retrieved
151 "Hello" gcide "The Collaborative International Dictionary of English v.0.48"
Hello \Hel*lo"\, interj. & n.
An exclamation used as a greeting, to call attention, as an
exclamation of surprise, or to encourage one. This variant of
{Halloo} and {Holloo} has become the dominant form. In the
United States, it is the most common greeting used in
answering a telephone.
[1913 Webster +PJC]
(... some content removed)
.
250 ok [d/m/c = 3/0/162; 0.000r 0.000u 0.000s]
221 bye [d/m/c = 0/0/0; 0.000r 0.000u 0.000s]
Мне было интересно, если:
a) Есть ли способ указать curl (или параметр в протоколе dict), чтобы не возвращать всю эту дополнительную информацию (т.е. 250 ok [d/m/c = 3/0/162; 0.000r...]
)
б) Вы, вероятно, заметили, что в ответ на диктовку возвращается информация, которая отображается не самым удобным для пользователя способом. Мне было интересно, если бы кто-нибудь знал о какой-либо существующей библиотеке php, которая позволила бы мне отобразить это более хорошим способом. В противном случае я должен был бы написать свой собственный код.
в) Если это не так, как большинство веб-сайтов словарей получают свои определения, как они это делают? В моем понимании самая полная словарная база данных - это база данных dict.org (которая поддерживает dict protocol и именно туда я отправляю свой запрос cURL).
Спасибо!