2011-03-03 55 views
1

我有以下cUrl函數調用返回響應代碼。檢查來自php curl_exec()的響應?

$result = curl_exec($ch); 

我需要檢查以下響應屬性的$結果。

<isValidPost>true</isValidPost> 

我總是可以解析並檢查確切的字符串,但有沒有其他方法來檢查?

回答

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; 
} 
2

您是否獲得XML響應?然後解析XML

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