Проверка ответа от php curl_exec ()? - PullRequest
1 голос
/ 04 марта 2011

У меня следующий вызов функции cUrl, который возвращает код ответа.

$result = curl_exec($ch);

Мне нужно проверить результат $ для следующего свойства ответа.

   <isValidPost>true</isValidPost>

Я всегда могу разобрать и проверить эту строку, но есть ли альтернативный способ проверить это?

Ответы [ 2 ]

3 голосов
/ 04 марта 2011

Предполагая, что API установлен в камне (т. Е. Не изменится в любой момент), в этом случае, вероятно, безопасен простой поиск по строке

if (false !== strpos($result, '<isValidPost>true</isValidPost>')) {

Однако сделать это можно вболее надежным способом, вы можете сделать анализ DOM:

$dom = new DOMDocument;
$dom->parseXML($result);
$isValidPostTag = $dom->getElementsByTagName('isValidPost')->item(0);
if ($isValidPostTag) {
    $isValidPost = $isValidPostTag->nodeValue == 'true';
} else {
    $isValidPost = false;
}
2 голосов
/ 04 марта 2011

Получаете ли вы XML ответ?Затем разберите XML

$xml = new SimpleXMLElement($result);
if(isset($xml->your_element->isValidPost)){
   //do what you need
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...