• Publicidad

Cómo verificar texto plano

¿Apenas comienzas con Perl? En este foro podrás encontrar y hacer preguntas básicas de Perl con respuestas aptas a tu nivel.

Cómo verificar texto plano

Notapor BigBear » 2010-02-10 15:29 @687

Hola a todos.

Ando teniendo una duda porque ando queriendo verificar una consulta a una web que me devuelve un texto plano que debo verificar que es:

Hola aca estoy

Pero hay veces que me devuelve

<h1>Hola aca estoy</h1>

Pero el problema es que yo quiero verificar si me devuelve "Hola aca estoy" en texto plano porque si me devuelve "<h1>Hola aca estoy</h1>" en HTML de nada me serviría. Por un momento pensé si habría un módulo que eliminara todos los strings HTML pero ni debe existir.

¿Alguien sabe cómo arreglar esto?
BigBear
Perlero frecuente
Perlero frecuente
 
Mensajes: 981
Registrado: 2009-03-01 18:39 @818

Publicidad

Re: Como verificar texto plano

Notapor explorer » 2010-02-10 15:42 @696

Sintáxis: [ Descargar ] [ Ocultar ]
Using perl Syntax Highlighting
if ($texto_devuelto_por_la_pagina_web eq 'Hola aca estoy') {
    say 'Todo va perfecto';
}
Coloreado en 0.002 segundos, usando GeSHi 1.0.8.4
JF^D Perl programming & Raku programming. Grupo en Telegram: https://t.me/Perl_ES
Avatar de Usuario
explorer
Administrador
Administrador
 
Mensajes: 14480
Registrado: 2005-07-24 18:12 @800
Ubicación: Valladolid, España

Re: Como verificar texto plano

Notapor kidd » 2010-02-10 19:29 @853

Murdoc Rush escribiste:Por un momento pensé si habría un módulo que eliminara todos los strings HTML pero ni debe existir.


Puedes hacer un simple regexp:

Sintáxis: [ Descargar ] [ Ocultar ]
Using perl Syntax Highlighting
my $string = '<h1>Hola aca estoy</h1>';

$string =~ s/<[^>]+>//g;

print $string; #Hola aca estoy  
Coloreado en 0.001 segundos, usando GeSHi 1.0.8.4



Saludos
Uriel Lizama Perl programmer fundador de Perl en Español
Perl Programming Language
Avatar de Usuario
kidd
Creador de Perl en Español
Creador de Perl en Español
 
Mensajes: 1166
Registrado: 2003-10-15 16:52 @744
Ubicación: México

Re: Cómo verificar texto plano

Notapor explorer » 2010-02-10 19:43 @863

He vuelto a leer, con más calma, el mensaje de Murdoc Rush, y me plantea una duda. No sé si refiere a que quiere desechar toda entrada que no sea texto plano, o si le gustaría filtrar las marcas HTML.

El caso es que no es sencillo distinguir texto plano de HTML, salvo si este último viene validado (tiene cabecera, tiene marcas <html>, marcas de cierre para las marcas de inicio, etc.). En este caso, te vale con pasarlo con una expresión regular como la que te indica kidd, o también esta otra:
Sintáxis: [ Descargar ] [ Ocultar ]
Using perl Syntax Highlighting
$string =~ s/<.+?>//g;
Coloreado en 0.001 segundos, usando GeSHi 1.0.8.4
o pasarlo por el módulo HTML::Strip, que quita todas las marcas HTML.

Pero... podría ocurrir que tuviéramos un texto plano, en los cuales aparecieran los símbolos '<' y '>' (el caso de un texto con algo de matemáticas). Entonces, el filtrado podría quitar partes que no debería.
JF^D Perl programming & Raku programming. Grupo en Telegram: https://t.me/Perl_ES
Avatar de Usuario
explorer
Administrador
Administrador
 
Mensajes: 14480
Registrado: 2005-07-24 18:12 @800
Ubicación: Valladolid, España


Volver a Básico

¿Quién está conectado?

Usuarios navegando por este Foro: No hay usuarios registrados visitando el Foro y 35 invitados