Google
Web dns.bdat.net

Re: [PHP-ES] Re: Ayuda con Expresiones Regulares

Write haof XML files: Rafael ( rsalazar@innox.com.mx)
Fecha: dom 16 oct 2005 - 07:30:25 CEST


        Me sucede lo mismo que a Grover, no entiendo tu descripción del
problema. Por lo que comentas, tomas los valores de un reporte HTML, un
copy/paste, muy probablemente, de una tabla.

        De ser el caso, y supongo que puede depender del navegador, las líneas
se indican por saltos de línea, y las columnas por tabuladores, y como
lo más probable es que el filtrado sea "por columna", creo que puedes
basarte en este hecho más que en el tipo de información contenida en
cada celda (a menos que hubiera \t's o \n's)

        Una forma sencilla de hacerlo (siendo todo lo anterior un hecho) es con
un split de cada línea, e.g:
   $fh = fopen('copy-paste.txt', 'r');
   while ( !feof($fh) ) {
     // lectura de una 'línea'
     $str_row = fgets($fh, 2048);
     // división de la línea en 'columnas'
     $arr_cols = split("\t", $str_row);
     // eliminado de las columnas no necesarias (1 y 3)
     unset($arr_cols[1], $arr_cols[3]);
     // impresión de la información resultante
     echo '['. join("]\t[", $arr_cols) ."]\n";
   }
   fclose($fh);
* Como siempre, el código es para ejemplificar, no se ha probado

        Si la división no se hace con tabuladores y saltos de línea, entonces
habrá que ver qué usa, y si no fuera útil se podría retomar la búsqueda
de "patrones" (de cadenas o formas fijas) en el texto que quieres
procesar para poder formar alguna "regex" para éste.

alchemyst@fibertel.com.ar wrote:
> Grover:
>
> No logré hacer andar lo que me dijiste, así que voy a explicar un
> poco con mas detalle lo que tengo que hacer.
>
> Tengo un archivo, sunpongamos copia.txt que contiene copy/pastes de
> reportes html (no puedo usar el codigo fuente html porque los
> reportes los genera JavaScript, los textos los tengo que levantar con
> una macro :(... poco ortodoxo, pero ahí no me queda otra). Pero del
> copy/paste hay info que no me sirve y necesito filtrar.
>
> formato copia.txt Alfanumerico, incluyendo '(', ')', '*', '[' y ']',
> y lo que puse como 'X' es un número de 1 dígito del 1 al 9:
> ------------------------------------------------ (<--- éstos
> guiones no son parte del archivo) blablabla
>
> texto_especifico1
>
> blablabla blablabla blablabla blablabla blablabla blablabla
> texto_especifico1 X: /****** ***** ***** ***** Texto a recuperar
> ***** ***** *******/ texto_especifico2
> ------------------------------------------------
>
>
> Yo necesito generar otro archivo copia2.txt que contenga:
> ------------------------------------------------ texto_especifico1 X:
> /****** ***** ***** ***** Texto_a_recuperar ***** ***** *******/
> texto_especifico2 ------------------------------------------------
>
> Necesito copia2.txt para despues pasarlo por otro .php y recuperar
> Texto_a_recuperar para mandarlo a un interprete y luego a una BD.
> (todo esto ya está diseñado)
>
> Lo estaba abriendo con file_get_contents("copia1.txt") y asignandolo
> a una variable como cadena, pero a partir de ahí no tengo idea de
> como usar regexps.
>
> Saludos y gracias, Ivan

-- 
Atentamente,
J. Rafael Salazar Magaña
Innox - Innovación Inteligente
Tel: +52 (33) 3615 5348 ext. 205
Cel: +52 (33) 1042 8382
rsalazar@innox.com.mx
http://www.innox.com.mx
-- 
PHP Spanish Localization Talk Mailing List (http://www.php.net/)
To unsubscribe, visit: http://www.php.net/unsub.php


Este archivo fue generado por hypermail 2.1.7 : sáb 18 mar 2006 - 18:23:49 CET