query); $query_terms = explode(' ', $query); // [0] = (define|d|mean|meaning) // [1] = WORD // Is there no query left? Bail! if(empty($query)) return false; $url = 'https://api.dictionaryapi.dev/api/v2/entries/en/'.$query_terms[1]; unset($query, $query_terms); return $url; } public function get_request_headers() { return array( 'Accept' => 'application/json, */*;q=0.8', 'Accept-Language' => null, 'Accept-Encoding' => null, 'Sec-Fetch-Dest' => null, 'Sec-Fetch-Mode' => null, 'Sec-Fetch-Site' => null ); } public function parse_results($response) { $engine_result = array(); $json_response = json_decode($response, true); // No response if(empty($json_response)) return $engine_result; // No results if(array_key_exists('title', $json_response)) return $engine_result; // Grab first result if there are multiple $result = $json_response[0]; // Find a phonetic spelling if(isset($result['phonetic'])) { $phonetic = $result['phonetic']; } else if(isset($result['phonetics'])) { $phonetic = array_column($result['phonetics'], 'text'); $phonetic = (count($phonetic) > 0) ? $phonetic[0] : $result['word']; } else { $phonetic = $result['word']; } // List definitions $formatted_response = ""; foreach($result['meanings'] as $meaning) { $formatted_response .= "
".sanitize($meaning['partOfSpeech'])."
"; $definitions = array_slice($meaning['definitions'], 0, 3); $formatted_response .= "