Expressões Regulares – Part I
by Rafael Zamana on Feb.01, 2008, under Desenvolvimento, Projetos
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
).
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

February 5th, 2008 on 7:15 pm
Experimenta isso:
[^'"]+ = Tudo o que não for aspas (simples e duplas)