On Thu, 2 Sep 2010, zerobatu wrote:

de antemano perdon por el off topic(si es que es Offtopic)
lo siguiente por fin estoy trabajando en algo relacionado con informatica
y para alivianar la pega estoy programando un sitio de monitoreo de toners
yo me puedo conectar a las impresoras por medio de un navegador y extraer
la informacion que necesito (porcentaje de toners hojas impresa, etc.) la
idea es
que con php lo aga por mi con php ya pude captura el codigo html
pero ahora no se como localizar el dato que necesito
ej:

estoy utilizando este funcion

$html=strtolower(implode('',file($url)));

para capturar la pagina

esto es parte del codigo extraido de la pagina:

Identificación
</div>
<table class="hpTable">
<tr >
<td>
<span  class="hpPageText" >Núm. serie</span></td>
<td>
<span  class="hpPageText" >BRHXJ14974</span></td>
</tr>
<tr >
<td>

lo que necesito sacar en este ejemplo es la serie

si alguien me puede ayudar con esto le agradeceria
por si acaso buscando encontre este codigo pero no lo entiendo mucho

//esta es la variable que contiene el codigo
$html

$var=preg_match_all($patron, $html, $cap);
$patron="";
echo "$var";

        En php soy un poco bruto, pero así de primeras te diría:

- Utilizar el [1]grep de PHP, buscando "hpPageText". Nos devolvería dos lineas.

- A este grep le haría otro, pero con el 'flag' "PREG_GREP_INVERT" activado, buscando "Núm. serie", lo que nos devolvería una línea.

- Esta la puedes dividir en cachos con [2]explode, y seleccionar el que más te guste.


Ya te he dicho que soy un poco bruto, seguro que hay mejores maneras de hacerlo, pero seguro que funciona (tengo cosas parecidas funcionando).

        Saludos --- Angel

P.D. Ahora que lo pienso, con expresiones regulares y el 'preg_match_all' que comentas se puede hacer de una tacada.

 [1]http://es.php.net/manual/es/function.preg-grep.php
 [2]http://es.php.net/manual/es/function.explode.php

Responder a