[Perl] y como quito el codigo java script??
Roberto Ruiz
roberto@expoempresas.com
Fri, 27 Sep 2002 13:13:07 -0600
Hola Christian, Dios te bendiga.
On Fri, Sep 27, 2002 at 01:24:32AM +0000, Christian Alvarado wrote:
> hola que tal , estaba pensando si, uno puede quitarle todo el codigo html a
> una paginas web , comos e podra qutar el codigo javascript , las funciones
> que se crean dentro del codigo y todo eso , y lo que hay entremedio de las
> etiquetas <style> y </style> , como lo hago???.... es super urgente esto
> alguien sabe??? , necesito dejar puras palabras , puro texto y sin esos
> codigos...en un archivo..alguien me puede ayudar??? ah?.. de antemano
> muchas gracias... :)
Puedes leer el archivo completo y realizar busquedas y remplazos en la
variable en la que lo leíste, por ejemplo:
-- sinscript.pl - cortar aqui - inicio ---
#!/usr/bin/perl -wT
use strict;
my $todo_el_archivo;
# Leer todo el archivo a memoria.
while (<>) { $todo_el_archivo .= $_; }
# quitar style
$todo_el_archivo =~ s|\<style.*?\>.*?\</style\>||gis;
# quitar scripts
$todo_el_archivo =~ s|\<script.*?\>.*?\</script\>||gis;
# quitar los demás tags
$todo_el_archivo =~ s|\<.*?\>||gis;
# comprimir líneas en blanco.
$todo_el_archivo =~ s|\n\n+|\n\n|gis;
print $todo_el_archivo;
-- sinscript.pl - cortar aqui - inicio ---
Al que puedes llamar así:
./sinscript.pl pagina.html > pagina.txt
Por otro lado, los puntos que creo importantes a notar de este pequeño
script son el uso de busquedas globales, sin caso y que se trata a la
cadena cómo sí fuése una sóla línea (el gis del final del
s///). También cabe señalar que si se usa la variable $| (creo),
puedes leer todo el archivo con una sóla instrucción, pero no me gusta
usarlo así.
Ahora, no señalas en que plataforma trabajas, pero si trabajas en
linux ó algún otro unix, una busqueda en google o similar creo que te
puede dar resultado para encontrar alguna utilería mejor para hacer lo
que quieres. En linux se me viene a la memoria que puedes usar el lynx
con la opción -dump, y también por ahí hay una utilería que se llama
html2text ó algo así que podrían subsanar mejor tus necesidades.
Y entrados en el tema, siempre es importante señalar en que plataforma
trabajas y también la versión de Perl que usas. Otra sugerencia sería
no usar mayúsculas en el subject de tus mensajes ya que los usuarios
que saben más no leen mensajes con esa característica particular, ya
sea porque sólo los borran y/o porque ya tienen un filtro automático
que los borra.
Saludos
Roberto Ruiz
--
LINUX: the FREE 32 bit OS for [3456]86 PC's available NOW!