Ver Mensaje Individual
  #2 (permalink)  
Antiguo 26/02/2007, 11:21
Avatar de DeeR
DeeR
 
Fecha de Ingreso: diciembre-2003
Ubicación: Santiago
Mensajes: 520
Antigüedad: 20 años, 4 meses
Puntos: 17
Re: Analizador sintáctico - parser

Una forma es analizar caracter por caracter el html e ir capturando datos ... lo cual es complicado (Aqu tengo un Tips que captura email de un texto cualquier utilizando una tecnica similar Capturar Email de un Texto )

Pero lo mejor, es usar expresiones regulares y funciones adecuadas del PHP. Aqui tengo otro Tips que te puede servir muxo Tips Expresiones Regulares

Entonces segun mi segundo Tips, imagina que quieres capturar todos los div noticias de un html, supongamos que neustro html es
Cita:
<div class="noticias>xxx xxx xxx xxx yyy xx yyy xxx</div>
<div class="noticias>5523532 235325 2352523</div>
<div class="noticias>xD xD xD xD 23523523 </div>
Nuestro Codigo PHP seria
Código PHP:
<?
// By http://deerme.org
// Por supuesto tendras que abrir el Archivo HTML local o remoto
// Y guardarlo en un String, la funcion fopen te sirve 

$texto='<div class="noticias>xxx xxx xxx xxx yyy xx yyy xxx</div>
<div class="noticias>5523532 235325 2352523</div>
<div class="noticias>xD xD xD xD 23523523 </div>'
;

$parser='|<div class="noticias>(.*?)</div>|is';

    
if( 
preg_match_all($parser$texto$title) )
{
    
print_r($title);
                 



?>
Lo cual Imprime la estructura de la matriz $title
Código:
Array
(
    [0] => Array
        (
            [0] => <div class="noticias>xxx xxx xxx xxx yyy xx yyy xxx</div>
            [1] => <div class="noticias>5523532 235325 2352523</div>
            [2] => <div class="noticias">xD xD xD xD 23523523 </div>
        )

    [1] => Array
        (
            [0] => xxx xxx xxx xxx yyy xx yyy xxx
            [1] => 5523532 235325 2352523
            [2] => xD xD xD xD 23523523 
        )

)
Fijate que en $title[1][x] estan los datos capturados

Saludos