PHP - extraer contenido de variable

 
Vista:

extraer contenido de variable

Publicado por flip (3 intervenciones) el 29/12/2005 10:23:16
Hola chicos, tengo un problemilla y necesito vuestra ayuda,

Os cuento:

recibo una variable, "$respuesta", de otro servidor con el que realizo una serie de operaciones.

el contenido de esta variable es una cadena como esta:

HTTP/1.1 200 OK
Date: Mon, 26 Dec 2005 12:30:32 GMT
Server: Microsoft-IIS/5.0
pragma: no-cache
cache-control: no-store
Content-Length: 116
Content-Type: text/html; charset=ISO-8859-1
Expires: Mon, 26 Dec 2005 12:42:58 GMT
Set-Cookie: ASPSESSIONIDAQCBQTBC=COFFBMNAGFICPGBCFANIOHAG; path=/
Cache-control: private
Connection: close


<html>
<body>
<DATOS><ESTADO>1</ESTADO><ERROR></ERROR><CODOP>000001-000002</CODOP></DATOS>
</body>
</html>

mi problema es que necesito extraer como variables los valores que aparecen al final de la respuesta, es decir : ESTADO, ERROR y CODOP, que parecen ser algo parecido a un xml, para guardarlos en una base de datos.

Gracias de antemano,

Flip
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder
sin imagen de perfil
Val: 1.071
Bronce
Ha mantenido su posición en PHP (en relación al último mes)
Gráfica de PHP

RE:extraer contenido de variable

Publicado por Yamil Bracho (888 intervenciones) el 30/12/2005 15:38:59
No es XML asi que puedes parsear el texto buscando los "tags" requeridos. Por ejemplo sabes que la data esta entre <DATOS></DATOS> asi que busca la primera ocurrencia de DATOS asi

Puedes usar una funcion como :

function extraer( $str, $beg_tag, $end_tag )
{
$pos = strpos( $str, $beg_tag );
$str = substr( $str, $pos + strlen( $beg_tag )-1);

$pos = strpos( $str, $end_tag);
$str = substr( $str, 1, $pos -1);

return $str;

}

Para usarlo haces algo como :

echo "ESTADO=" . extraer( $respuesta, "<ESTADO>", "</ESTADO>") ."\n";
echo "ERROR=" . extraer( $respuesta, "<ERROR>", "</ERROR>") ."\n";
echo "CODOP=" . extraer( $respuesta, "<CODOP>", "</CODOP>") ."\n";
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:extraer contenido de variable

Publicado por flip (3 intervenciones) el 01/01/2006 13:27:28
Eternamente agradecido, Yamil,

Funciona perfectamente y, además, lo he comprendido, por lo que doble éxito. Así podré ayudar yo tambíen si alguien necesita ese conocimiento.

Un saludo y Feliz Año

Flip
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar