Jump to content


Photo

Procurar Tag Img E Redimensionar A Imagem Php


  • Faça o login para participar
3 replies to this topic

#1 trulyunhappy

trulyunhappy

    Novato no fórum

  • Usuários
  • 2 posts
  • Sexo:Feminino

Posted 11/11/2011, 14:33

Olá, galera!
Então, to precisando de uma ajudinha.
No banco eu tenho o campo "texto", que contém:

<p>teste para fazer a função</p> <img src='imagem_praenviar/imagem_1.jpg' />


O que eu tenho q fazer é uma função em php para verificar se há tag img ou não, caso tenha, eu preciso redimensionar a imagem, e exibir tudo pra o usuário.
eu consegui apenas verificar se há existência da tag ou não, dessa forma:

//TESTE 1
$string = "<p>teste para fazer a função</p> <img src='imagem_praenviar/imagem_1.jpg' />";
$explode = " ";
$nova = explode($explode,$string);

if(in_array("<img", $nova)){
echo "tem imagem";
}else{
echo "não tem imagem";
}



fiz alguns outros testes, mais não funcionou!
valeu (:

#2 Satoru

Satoru

    Novato no fórum

  • Usuários
  • 24 posts
  • Sexo:Masculino
  • Localidade:Minas Gerais
  • Interesses:PHP, Mysql, Javascript,Asp, HTLM, CSS e AS3

Posted 11/11/2011, 15:11


$string = "<p>teste para fazer a função</p> <img src='imagem_praenviar/imagem_1.jpg' />";

$explode = " ";

$nova = explode($explode,$string);



if(in_array("<img", $nova)){

echo "tem imagem";



//define a largura da imagem

$largura = '100';

//define a altura da imagem

$altura = '70';



//nova explosão da string para que possa ser adicionado a nova largura e altura

$explode = "<img";

$string_dividida = explode($explode,$string);



//depois de dividir a string,

//$string_dividida[0] possui tudo antes de <img, ou seja:"<p>teste para fazer a função</p>"

//$string_dividida[1] possui tudo depois de <img, ou seja:" src='imagem_praenviar/imagem_1.jpg' />"



//agora basta escrever as partes da string e adicionar weight e height para redimensionar

echo $string_dividida[0]."<img width='".$largura."' height='".$altura."'".$string_dividida[1];



}else{

echo "não tem imagem";

}





#3 Spiderpoison

Spiderpoison

    Novato no fórum

  • Usuários
  • 9 posts
  • Sexo:Masculino
  • Localidade:Araraquara

Posted 11/11/2011, 15:19

Olá,

Eu usei algo assim no meu sistema, o WebSystem (http://websystem.wourceforge.net).
Se estudar o fonte do script admin/editorvisual.php, irá ver que eu capturo os dados da IMG para redimensionar a imagem com o GD antes de salvar no servidor.

Fique a vontade para baixar e estudar o fonte ...

Espero que ajude.

Abraços

Spiderpoison

#4 trulyunhappy

trulyunhappy

    Novato no fórum

  • Usuários
  • 2 posts
  • Sexo:Feminino

Posted 16/11/2011, 14:27

$string = "<p>teste para fazer a função</p> <img src='imagem_praenviar/imagem_1.jpg' />";
$explode = " ";
$nova = explode($explode,$string);

if(in_array("<img", $nova)){
echo "tem imagem";

//define a largura da imagem
$largura = '100';
//define a altura da imagem
$altura = '70';

//nova explosão da string para que possa ser adicionado a nova largura e altura
$explode = "<img";
$string_dividida = explode($explode,$string);

//depois de dividir a string,
//$string_dividida[0] possui tudo antes de <img, ou seja:"<p>teste para fazer a função</p>"
//$string_dividida[1] possui tudo depois de <img, ou seja:" src='imagem_praenviar/imagem_1.jpg' />"

//agora basta escrever as partes da string e adicionar weight e height para redimensionar
echo $string_dividida[0]."<img width='".$largura."' height='".$altura."'".$string_dividida[1];

}else{
echo "não tem imagem";
}


valeu por responder! rs
eu consegui de uma maneira meio diferente.

$string = "<p>ele é feio</p> <img src='imagem_praenviar/imagem_2.jpg' />";

$explode = " ";
$nova = explode($explode,$string);


//FUNÇÃO P/ CONSEGUIR O INDICE EM QUE SE ENCONTRA O SRC
function SearchS($cap){
$numeros = count($cap);
for($i=0; $i<$numeros; $i++){
if(strpbrk($cap[$i],"src")){
return $i;
}
}
}

//VERIFICO SE EXISTE A TAG IMG NO ARRAY
if(in_array("<img", $nova)){

$array = SearchS($nova);
$new = explode('\'',$nova[$array]);

//NOME DO ARQUIVO
$nome = end(explode("/",$new[1]));

//REDIMENSIONAR IMAGEM
$pasta = "img_redimensionada/";
include_once("funcao_redimensionar.php");
redimensionar($new[1],$nome,122,160,$pasta);



}else{
echo "0";
}


agora meu problema é outro rs
eu preciso substituir o nome da pasta que tá o src e retornar a string toda, apenas com essa alteração.




1 user(s) are reading this topic

0 membro(s), 1 visitante(s) e 0 membros anônimo(s)

IPB Skin By Virteq