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

Daniel de Oliveira Mantovani daniel.oliveira.mantovani at gmail.com
Tue May 18 14:12:24 PDT 2010


Eu não recomendo o HTML::TreeBuilder sem o XPath.

Da uma linda sobre a linguagem XPath, você vai gostar:
http://www.w3schools.com/XPath/xpath_intro.asp

[]'s

2010/5/18 Gabriel Vieira <gabriel.vieira em gmail.com>:
> HTML::TreeBuilder
> HTML::Parser (mto mais rápido)
>
> 2010/5/18 Fernando <fernandolouis em terra.com.br>:
>> 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)
>>
>> []s,
>> Fernando
>>
>> -----Mensagem original-----
>> De: saopaulo-pm-bounces+fernandolouis=terra.com.br em pm.org [mailto:saopaulo-pm-bounces+fernandolouis=terra.com.br em pm.org] Em nome de thiagoglauco em ticursos.net
>> Enviada em: terça-feira, 18 de maio de 2010 15:44
>> Para: saopaulo-pm em mail.pm.org
>> Assunto: Re: [SP-pm] REGEXP para encontrar uma PALAVRA que esteja fora de uma determinada TAG
>>
>> Voce precisa de uma regex para isso por algum motivo especial? Existem
>> m'odulos CPAN para isso. Esse tipo de problema eh tao velho quanto o
>> html.
>>
>> Quoting Fernando <fernandolouis em terra.com.br>:
>>
>>> Pessoal estou com a seguinte situação:
>>>
>>> Quero fazer uma expressão regular que faça uma substituição de
>>> terminada palavra no texto, desde que ela não esteja dentro de uma
>>> específica TAG HTML.
>>>
>>> Exemplo:
>>>
>>> $texto = "<span class=normal> texto qualquer, texto qualquer e há
>>> uma palavra aqui <span class=destaque>isto é um texto e há uma
>>> palavra aqui</span> continuação de um texto qualquer.</span>";
>>>
>>> desejo fazer uma REGEXP que substitua "palavra" por "WORD", desde
>>> que "palavra" não esteja dentro da tag: <span class=destaque></span>
>>>
>>> então em $texto deverá conter o seguinte, após a substituição:
>>>
>>> $texto = "<span class=normal> texto qualquer, texto qualquer e há
>>> uma WORD aqui <span class=destaque>isto é um texto e há uma palavra
>>> aqui</span> continuação de um texto qualquer.</span>";
>>>
>>> Recapitulando:
>>> Percebam que somente quero que seja substituída por "WORD" a
>>> palabra-chave "palavra" que está fora da tag <span
>>> class=destaque></span>.
>>>
>>> Tentei usar expressões constantes estendidas, mas não consegui.
>>>
>>> []s,
>>> Fernando
>>>
>>>
>>> __________ Information from ESET NOD32 Antivirus, version of virus
>>> signature database 5125 (20100518) __________
>>>
>>> The message was checked by ESET NOD32 Antivirus.
>>>
>>> http://www.eset.com
>>>
>>>
>>> _______________________________________________
>>> SaoPaulo-pm mailing list
>>> SaoPaulo-pm em pm.org
>>> http://mail.pm.org/mailman/listinfo/saopaulo-pm
>>
>>
>>
>> _______________________________________________
>> SaoPaulo-pm mailing list
>> SaoPaulo-pm em pm.org
>> http://mail.pm.org/mailman/listinfo/saopaulo-pm
>>
>>
>> __________ Information from ESET NOD32 Antivirus, version of virus signature database 5125 (20100518) __________
>>
>> The message was checked by ESET NOD32 Antivirus.
>>
>> http://www.eset.com
>>
>>
>> _______________________________________________
>> SaoPaulo-pm mailing list
>> SaoPaulo-pm em pm.org
>> http://mail.pm.org/mailman/listinfo/saopaulo-pm
>
>
>
> --
> Gabriel Vieira
> _______________________________________________
> SaoPaulo-pm mailing list
> SaoPaulo-pm em pm.org
> http://mail.pm.org/mailman/listinfo/saopaulo-pm
>



-- 
"If you’ve never written anything thoughtful, then you’ve never had
any difficult, important, or interesting thoughts. That’s the secret:
people who don’t write, are people who don’t think."


More information about the SaoPaulo-pm mailing list