This repository has been archived on 2024-08-28. You can view files and clone it, but cannot push or open issues or pull requests.
satori-services/public/word-define.php

40 lines
1 KiB
PHP
Raw Normal View History

2023-02-02 19:24:36 +00:00
<?php
$config = parse_ini_file(__DIR__ . '/../config/flashii.ini');
header('Content-Type: application/json; charset=utf-8');
$word = (string)filter_input(INPUT_GET, 'word');
if(empty($word))
die('{"error":"word"}');
$response = json_decode(file_get_contents(sprintf(
'https://api.wordnik.com/v4/word.json/%s/definitions?limit=5&includeRelated=false&sourceDictionaries=ahd-5%%2Cwordnet&useCanonical=true&includeTags=false&api_key=%s',
rawurlencode($word),
$config['wordnik-token']
)));
if(empty($response))
die('{"error":"response"}');
$defs = [];
foreach($response as $def) {
if(empty($def->text))
continue;
$defs[] = [
'word' => $def->word ?? '',
'pos' => $def->partOfSpeech ?? '',
'attr' => $def->attributionText ?? '',
'attr_url' => $def->attributionUrl ?? '',
'dict' => $def->sourceDictionary ?? '',
'text' => strtr($def->text, [
'<em>' => '[i]',
'</em>' => '[/i]',
]),
'url' => $def->wordnikUrl ?? '',
];
}
echo json_encode($defs);