Usamos cookies para medir audiência e melhorar sua experiência. Você pode aceitar ou recusar a qualquer momento. Veja sobre o iMasters.
Amigos,
Preciso de uma ajuda com CURL e XML , estou enviando via curl um xml e que me retornam algumas informações, até ai tudo funcionando, porém eu preciso tratar esse retorno.
Não estou conseguindo pegar o retorno separadamente, vem tudo em uma linha algo como:
201304011132269560000003668786FalhaUsuário já cadastrado
O que eu preciso é separar isso, da seguinte forma:
codigo = 201304011132269560000003668786
status = Falha
msg = Usuário já cadastrado
Segue o script
$curl = curl_init();
curl_setopt($curl, CURLOPT_URL,
"https://xyz.teste.com.br");
curl_setopt($curl, CURLOPT_HTTPHEADER, $header);
curl_setopt($curl, CURLOPT_USERPWD, $user . ":" . $passwd);
curl_setopt($curl, CURLOPT_SSL_VERIFYPEER, false);
curl_setopt($curl, CURLOPT_USERAGENT, "Mozilla/4.0");
curl_setopt($curl, CURLOPT_POST, true);
curl_setopt($curl, CURLOPT_POSTFIELDS, $param);
curl_setopt($curl, CURLOPT_RETURNTRANSFER, true);
$ret = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
echo $ret . ' - ' . $err;
Podem me dar uma força nisso?
acredito q seja isso, talvez vc tenha q um pouco o padrão
$texto = '201304011132269560000003668786FalhaUsuário já cadastrado';
$er = '/([0-9]*)([A-Z][a-zá]*)( *.*)?/';
preg_match($er, $texto, $ocorrencias);
echo "<pre>";
print_r($ocorrencias);Valeu pela ajuda, eu consegui resolver assim:
$xml = simplexml_load_string($ret);
$status = $xml->RespostaPreCadastramento->Status;
depois q soube qual era a tag de abertura do XML ai tudo funcionou.
obrigado e fica ai a dica
\o q blz.
esse retorno segue um padrão? por exemplo, o código do cliente sempre vai ter a mesma quantidade de digitos?