Jump to content

[Resolvido] Dúvida - exercício


konbleck
 Share

Recommended Posts

Boa noite.

Estou a iniciar-me na programação em PHP e surgiu-me um exercício que para mim que me estou a iniciar, é um pouco complexo, ou então sou eu que estou a pensar de forma errada. 😄

Tenho de fazer uma função que gere dinamicamente uma tag <img>. A função deve ter um parâmetro obrigatório que contém o campo URL da imagem (o campo src) e três argumentos opcionais: os campos alt, height e widht.

Alguém me pode dar uma ajuda a resolver, ou dar umas luzes para começar?

Cumprimentos,

Luis Esteves

Link to comment
Share on other sites

obrigado pela resposta rápida.

já é uma boa estrutura. e umas luzes assim tipo os máximos 😛 vou tentar resolver.

edit: Posso postar a solução quando conseguir? Sempre pode ser ajuda para alguém que esteja a começar no PHP assim como eu.

Edited by konbleck
Link to comment
Share on other sites

edit: Posso postar a solução quando conseguir? Sempre pode ser ajuda para alguém que esteja a começar no PHP assim como eu.

Podes e todos agradecemos e encorajamos que o faças! 😉

Bem-vindo ao p@p

"[Os jovens da actual geração]não lêem porque não envolve um telecomando que dê para mirar e atirar, não falam porque a trapalhice é rainha e o calão é rei" autor: thoga31

Life is a genetically transmitted disease, induced by sex, with death rate of 100%.

Link to comment
Share on other sites

Podes e todos agradecemos e encorajamos que o faças! 😉

Bem-vindo ao p@p

🙂 obrigado pelo acolhimento. Estou a gostar 👍

Em relação ao código, será algo tipo isto?

function gera_tag($url, $alt, $height, $width)
{
 $res= "<img src=\"$url\" alt=\"$alt\" height=\"$height\" width=\"$width\"/>";
 return ($res);
}

 $link = "http://i.imgur.com/rDNZQ.jpg%22;
 $texto_alt = "";
 $altura = "";
 $largura = "";

 echo gera_tag($link, $texto_alt, $altura, $largura);

Os elementos de texto alt, largura e altura deixei em branco, uma vez que é pedido que sejam opcionais.

Cumprimentos e obrigado pelo apoio.

Link to comment
Share on other sites

🙂 obrigado pelo acolhimento. Estou a gostar 👍

Em relação ao código, será algo tipo isto?

function gera_tag($url, $alt, $height, $width)
{
    $res= "<img src=\"$url\" alt=\"$alt\" height=\"$height\" width=\"$width\"/>";
    return ($res);
}

    $link = "http://i.imgur.com/rDNZQ.jpg%22;
    $texto_alt = "";
    $altura = "";
    $largura = "";

    echo gera_tag($link, $texto_alt, $altura, $largura);

Os elementos de texto alt, largura e altura deixei em branco, uma vez que é pedido que sejam opcionais.

Cumprimentos e obrigado pelo apoio.

apesar do problema de usar o atributo altura e largura no HTML, olha aqui uma solução melhor:

function gera_tag($url, $alt = null, $height = null, $width = null)
{
 $result = "<img src='$url'"; // sim, podes usar ' em HTML

 if ($alt)
   $result.= " alt='$alt'";
 if ($width)
   $result.= " width='$width'";
 if ($height)
   $result.= " height='$height'";

 $result.= " />";

 return $result;
}

$link = "http://i.imgur.com/rDNZQ.jpg";
$texto_alt = "alt";
$altura = "100";
$largura = "200";

echo gera_tag($link);
echo gera_tag($link, $texto_alt);
echo gera_tag($link, $texto_alt, $altura);
echo gera_tag($link, $texto_alt, $altura, $largura);
IRC : sim, é algo que ainda existe >> #p@p
Link to comment
Share on other sites

se quiseres fazer isso de uma forma mais dinâmica podes fazer deste estilo

<?php
function gera_tag_img($attributes = array()) {
   return '<img ' . faz_a_magia($attributes) . '/>';
}
function faz_a_magia($data) {
if(!is_array($data))
 return '';

   $temp = ' ';
   foreach ($data as $property => $value) {
    $temp .= $property . '="' . $value . '" ';
   }
   return $temp;
}
$atributos = array(
 'src' => 'http://i.imgur.com/rDNZQ.jpg',
 'alt' => 'texto',
 'width' => 200,
 'height' => 100,
 'title' => 'mais texto'
 'id/class/style' => 'etc'
);
echo gera_tag_img($atributos

e podes adaptar isso para todas as tags de html

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
 Share

×
×
  • 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.