Jump to content

decompor string e outros


magnastik

Recommended Posts

Boas!

Preciso aqui de uma ajuda para fazer um script.

1º Tenho uma string que tem texto e imagens, tipo:

logo o código das imagens será <img src="http://www.foto.zbc/foto.jpg" /> e mais 
logo o código das imagens será <img src="http://www.foto.zbc/foto.jpg" /> e mais e mais logo o 
código das imagens será <img src="http://www.foto.zbc/foto.jpg" />

2º Preciso de ler a string que contém o código html e ir buscar o endereço da imagem que está na tag <img>

3º Depois preciso de conseguir saber a largura da imagem.. mas isso é facil com o getimagesize

4º vou fazer o redimensionamento para cada imagem que seja superior a X pixels.

Ou seja, preciso de ajuda é no parse, no ponto 2.

Abraços,

MagNastiK

Link to comment
Share on other sites

Pois mas para isso é necessário saber programar em expressões regulares.

E tens aqui uma excelente motivação para aprenderes! 😛

Mas não há nenhuma função de PHP que possamos delimitar uma string?

Por exemplo definir um limite esquerdo e direito?

Ou seja, eu quero tudo o que estiver entre <img src=" e " />

Seria bem mais simples!

Abraços,

MagNastiK

O que acabaste de descrever foi exactamente expressões regulares! 😛

Podes sempre fazer um algoritmo de força bruta, tipo:

1. encontrei "<img" então estou dentro de uma imagem

2. se estou dentro de uma imagem:

2.1. se encontrei src= então estou dentro do img_src

3. se estou dentro do img_src=

3.1. andar até encontrar > ou um espaço

etc..

Agora usando esta técnica de força bruta é idiota quando se têm expressões regulares disponiveis. Investe um pouco de tempo nisto e vais ver que compensa:

http://www.regular-expressions.info/php.html

http://www.regexbuddy.com/php.html

http://weblogtoolscollection.com/regex/regex.php

10 REM Generation 48K!
20 INPUT "URL:", A$
30 IF A$(1 TO 4) = "HTTP" THEN PRINT "400 Bad Request": GOTO 50
40 PRINT "404 Not Found"
50 PRINT "./M6 @ Portugal a Programar."

 

Link to comment
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
×
×
  • Create New...

Important Information

By using this site you accept our Terms of Use and Privacy Policy. We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.