magnastik Posted May 17, 2006 at 01:00 PM Report Share #27822 Posted May 17, 2006 at 01:00 PM 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 More sharing options...
M6 Posted May 17, 2006 at 01:08 PM Report Share #27826 Posted May 17, 2006 at 01:08 PM O que tu necessitas é de um parser. Uma forma de fazeres isso - quick and dirty - é através de expressões regulares. 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 More sharing options...
magnastik Posted May 17, 2006 at 01:17 PM Author Report Share #27829 Posted May 17, 2006 at 01:17 PM Pois mas para isso é necessário saber programar em expressões regulares. 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 Link to comment Share on other sites More sharing options...
M6 Posted May 17, 2006 at 01:38 PM Report Share #27832 Posted May 17, 2006 at 01:38 PM 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 More sharing options...
Recommended Posts
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 accountSign in
Already have an account? Sign in here.
Sign In Now