检查来自php curl_exec()的响应?

时间:2011-03-03 22:34:42

标签: php curl

我有以下cUrl函数调用,它返回响应代码。

$result = curl_exec($ch);

我需要检查以下响应属性的$ result。

   <isValidPost>true</isValidPost>

我总是可以解析并检查那个确切的字符串,但有没有其他方法来检查它?

2 个答案:

答案 0 :(得分:3)

假设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;
}

答案 1 :(得分:2)

您是否收到了XML响应?然后解析XML

$xml = new SimpleXMLElement($result);
if(isset($xml->your_element->isValidPost)){
   //do what you need
}