protected function getResults(SearchQuery $query) { $i = 0; $params = $query->getParameters(); $xmlReq = "<Query xmlns='exa:com.exalead.search.v10'><args>"; foreach ($params as $param) { $name = $param->getName(); $value = $param->getValue(); $xmlReq .= "<Arg xmlns='exa:com.exalead.xmlapplication' name='" . $name . "' value='" . htmlspecialchars(stripslashes($value), ENT_QUOTES, 'UTF-8') . "'/>"; } $xmlReq .= "</args></Query>"; // echo str_replace("<", "<", $xmlReq); $ch = curl_init($this->url); curl_setopt_array($ch, array(CURLOPT_HTTPHEADER => array('Content-type: text/xml'), CURLOPT_FOLLOWLOCATION => true, CURLOPT_RETURNTRANSFER => true, CURLOPT_POST => true, CURLOPT_POSTFIELDS => $xmlReq)); if (($result = curl_exec($ch)) !== false && curl_getinfo($ch, CURLINFO_HTTP_CODE) == 200) { $this->xmlResponse = str_replace("xmlns=", "ns=", $result); echo str_replace("<", "<", $this->xmlResponse); } else { throw new SearchClientException('Error: ' . curl_getinfo($ch, CURLINFO_HTTP_CODE) . "\n" . curl_error($ch)); } curl_close($ch); }