Expressões Regulares – Part I

RSS + FeedBurner = Gerenciamento de Feeds
24 de janeiro de 2008
Mundo de Browsers
7 de fevereiro de 2008

A um tempo eu venho apanhando de Expressões Regulares (RegEx para os íntimos).

Afinal, eu vou comprar o Guia Prático hoje, e pretendo juntar isso a minha coleção de livros que estou lendo (já são 5 :P).

Hoje ocorreu a necessidade em que eu precisava apanhar uma URL dentro de uma tag img que no final das contas estava dentro de um <textarea>.

Eu já sabia que eu teria que usar Expressão Regular, mas ainda assim, para uma conteudo muito especifico.

<textarea (algumas coisas>(outras coisas)<img src=”(oque eu quero)” (coisas,etc,etc…) />(mais um monte de coisas)</textarea>

Deu mais ou menos pra entender?!? Eu também fiquei louco….

Quebrei a cabeça por uns dois dias, mas no final eu consegui.

$pagina = file_get_contents('pagina.htm');
preg_match_all('@<textarea.*[^>]>.*<img.*src="(.*)(gif|jpg|png)">.*</textarea>@i',$pagina,$matches);

O problema aqui é que ele separa a url da imagem da sua extensão.

Algo como:

[1] => http://www.zamana.eti.br/logo

[2] => jpg

Ainda estou tentando arrumar isso.

Por enquanto vale a introdução

1 Comentário

  1. DGmike disse:

    Experimenta isso:

    [^'”]+ = Tudo o que não for aspas (simples e duplas)