[SP-pm] RES: REGEXP para encontrar uma PALAVRA que esteja fora de uma determinada TAG

thiagoglauco at ticursos.net thiagoglauco at ticursos.net
Wed May 19 08:25:52 PDT 2010


Depende.
Se você quiser fazer várias substituições em um arquivo de formato  
conhecido, por exemplo você quer que o seu site mostre para o usuário  
uma informação diferente em determinadas circunstâncias... um site  
dinamico que não é tao complexo a ponto de você decidir usar o  
Catalyst, você pode tentar usar o Template Toolkit.

exemplo, um arquivo meu.html:

<minha tag cheia de coisas, divs e css>

     texto fixo que eu quero mostrar para meu usuário
     [%texto_variavel%]
     mais texto fixo
     [%mais_texto_variavel%]
<fim da minha tag/>

Então você cria um script que modifica essas palavras entre [% .. %]  
com o Perl e o Tt.

use Template;

my $var = {
   texto_variavel => "Bem vindo",
   mais_texto_variavel => "Adeus"
};

my $tt = Template->new;
my $arquivo = "meu.html";
$template->process ($arquivo, $vars);

tutorial:  
http://search.cpan.org/~abw/Template-Toolkit-2.22/lib/Template/Tutorial/Web.pod

Mas se você quer processar um HTML de outra pessoa ou extrair  
informações de um arquivo HTML, então use os recomendados mesmo. Se  
não me engano já sugeriram os Parses de HTML que inclusive sao  
dependencias do arquivo HTML::TreeBuilder::XPath

mas se você tiver um html simples e quiser brincar,
Quoting Luis Motta Campos <luismottacampos em yahoo.co.uk>:

> On 05/18/2010 10:57 PM, Fernando wrote:
>> O único motivo é a necessidade de fazer a substituição fora da TAG,  
>>  conforme informando anteriormente.
>>
>> Eu realmente desconhecia que esse problema era assim tão "velho".   
>> Fazia tudo na-mão mesmo.
>>
>> Algum módulo para indicar que não o informado pelo Montovani?   
>> (HTML::TreeBuilder::XPath)
>
> Eu conheço o Michel Rodriguez das conferências de Perl. Batemos bastante
> papo quando sentamos lado-a-lado para o Dim Sum que rolou durante os
> intervalos em Copenhagen, o ano retrasado, e tomamos café com pastéis de
> natas durante a celebração dos 10 anos de YAPC::Europe em Lisboa, o ano
> passado.
>
> Por que eu conheço o autor e sei como ele trabalha, eu não idicaria a
> você outro módulo para tratar deste problema - eu conheço e confio no
> trabalho do Michel Rodriguez.
>
> Agora, se você quiser ser um programador braçudo, pode voltar a escrever
> tudo o que ele escreveu nos últimos anos de manutenção do módulo, e
> tentar fazer melhor... :D eu não recomendo - o cara tem um mestrado e
> sabe muito do que está falando.
>
> Putamplexos.
> --
> Luis Motta Campos is a DBA,
> Perl Programmer, foodie and photographer.
> _______________________________________________
> SaoPaulo-pm mailing list
> SaoPaulo-pm em pm.org
> http://mail.pm.org/mailman/listinfo/saopaulo-pm





More information about the SaoPaulo-pm mailing list