Lamentablemente CodeIgniter no cuenta con ninguna herramienta para la “extracción” y manipulación de strings útiles, como en este caso usando “Xclass” , una librería que programe para esta tarea.
Cual tarea?
en ocasiones necesitaremos de alguna manera “interactuar” con otra pagina que no nos facilita ninguna api ni herramienta para hacerlo.. pues en este caso supongamos necesitemos extraer las “ultimas noticias” o las “estadisticas del mundial”,”el clima”,”ultimos comentarios de una persona”..
Xclass nos facilita la tarea , solo ingresando 3 parametros:
-La url de la pagina a solicitar la informacion.
-La cadena desde donde se iniciara a extraer.
-La cadena donde se terminara de extraer.
(A parte de webs , Xclass tambien sirve para cadenas comunes a las que necesitemos extraer una parte)
Instalando Xclass en CodeIgniter:
http://xerotutos.vacau.com/Xclass.zip
Instalar una libreria en CodeIgniter , solo necesitamos descargar Xclass.php , ir a la carpeta en donde esta corriendo CodeIgniter->system->application->libraries y pegar Xclass.php.
Siguiendo esto ya “instalamos” Xclass y esta lista para usarse en CodeIgniter.
Usaremos mi perfil de Cristalab , extraeremos mi numero de post,tips,clablevel….
Crearemos un controlador “Xero.php” en la carpeta system->application->controlles con lo siguiente:
Código PHP:
Ver original
<?php class Xero extends Controller{ function Xero() { parent::Controller(); } function index() { $this->load->library(“xclass”); echo $this->xclass->xas(‘http://www.cristalab.com/usuario/88793-xer0s’,'<div class=”profile-info”>’,'<div class=”pie”></div>’); } } ?>
Simplemente es un controlador normal , llamamos a la libreria “Xclass” luego a la funcion con 3 parametros:
Código PHP:
El primer parametro es la url, el segundo es la primera aparición donde empezaremos a extraer el codigo y el tercer parametro indica hasta donde seguira extrayendo.Ver original
$this->load->library(“xclass”); $this->xclass->xas(‘$target’,'$primera_cadena’,'$segunda_cadena’);
La parte que nos interesa:
Código HTML:
Mi perfil:(primer parametro)Ver original
http://www.cristalab.com/usuario/88793-xer0s
El segundo parametro parametro:
<divclass=”profile-info“>
El tercer Parametro:
<div class=”pie“></div>
Dando como resultado: http://localhost/index.php/xero/
Asi de simple ha sido extraer esa informacion , solo usando el parametro que extraemos viendo el html que deseamos extraer.Tambien es aconsejable leer sobre expreciones regulares.