...

View Full Version : extract url from xml response and redirect



free man
11-25-2010, 05:18 PM
Hi,
I submit form data as an xml string - $strXML - using curl:

curl_setopt($ch, CURLOPT_HEADER, 0);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, '1');
curl_setopt($ch, CURLOPT_POST, true);
curl_setopt($ch, CURLOPT_POSTFIELDS, array('lead'=>$strXML));
$strResult = curl_exec($ch);
// close cURL resource, and free up system resources
curl_close($ch);

The xml response is:

<result>
<posting_error>0</posting_error>
<lead>0</lead>
<valid>1</valid>
<redirect_url>http://www.xxx.com</redirect_url>
</result>

and I need to redirect the user to <redirect_url>.

I am trying the following:

$xml = new SimpleXMLElement($strResult);
header("Location:" . $xml->result->redirect_url);

but with no joy.
Could anyone suggest how I can achieve what I want?
Thanks.

MattF
11-25-2010, 06:30 PM
This seems a bit of overkill:



$xml = new SimpleXMLElement($strResult);
header("Location:" . $xml->result->redirect_url);


Try, (untested):



preg_match('~\<redirect_url\>([^\<]+)\<\/redirect_url\>~', $strResult, $uri);
print_r($uri);
header('Location: '.$uri[1]);


Remove or comment the print_r() line after testing.



EZ Archive Ads Plugin for vBulletin Copyright 2006 Computer Help Forum