PHP é à quinta-feira – Criar Links
Boas,
A nível de direitos sobre o código, devo remeter-vos para o meu primeiro artigo desta rubrica.
Esta semana trago-vos uma função que já criei há muito tempo, e tem sofrido algumas melhorias e alterações consoante o projecto em causa.
Para alguns pode não parecer útil, mas simplifica-me a vida muitas vezes usar uma função em PHP para gerar código HTML que se repete com regularidade, como acontece com os links (tag <a>)
<?php function getLink($url,$name,$params = '') { $config_url = “https://pplware.sapo.pt/”; if (!stristr($url,"http://") && !stristr($url,"ftp://") && !stristr($url,"https://") && !stristr($url,"javascript:") && !stristr($url,"mailto:")) { $url = $config_url.$url; } if (!stristr($url,"mailto:")) { $url = str_ireplace("&","&",$url); $url = str_ireplace("&","&",$url); } $link = '<a href="'.$url.'"'; if (!empty($params)) $link .= ' '.$params; $link .= '>'.$name.'</a>'; return $link; } ?>
Modo de utilização:
É bastante simples e intuitivo, segue um exemplo de como criar um link para o fórum e outro para o artigo “Correr aplicações Android no Ubuntu”.
<?php echo getLink('http://forum.pplware.com/',”Fórum Pplware”,'target=”_blank”'); echo getLink('2009/05/28/correr-aplicacoes-android-no-ubuntu/',”Correr aplicações Android no Ubuntu”); ?>
Qualquer dúvida ou sugestão, estão completamente à vontade.
Este artigo tem mais de um ano
Muito bom, continuem, agradecemos! 😀
Na verdade eu acho mais fácil criar esse tipo de link com classes, mas parabéns, ótimo trabalho!
beleza Bruno…super cool, alto nivel, como sempre…keep it up buddy ! 🙂
E porque não no 3º argumento colocar apenas “blank” e a função tratar do resto?
Foi uma coisa que também pensei, mas vendo bem podes ter o interesse em adicionar alguma função de javascript ao clicar na ligação, o coloca um atributo title, por exemplo.
Claro que se pode “simplificar” dessa forma, caso o 3º argumento tivesse um objectivo simples, como o target, mas utilizo assim no geral, porque permite adicionar funções em javascript, class’s, etc.
Isso seria o 4º argumento opcional 🙂
Boa dica. Isso aplicado a uma função para criar automaticamente hiperligações de um texto, era fantástico! 😉 fica a sugestão.
O 3º parâmetro da função podia ser um array. exemplo: array(‘title’ => ‘kklkoisa’, ‘target’ => ‘_blank’).
Grande coincidência! Antes de vir dar a minha espreitadela diária ao Pplware, estive a desenvolver uma pequena função em PHP para criar links! 🙂 Um pouco diferente, pois substitui sempre uma determinada palavra pelo respectivo link com a função str_replace.
Dá muito jeito quando temos um site onde inserimos bastante conteúdo dinâmico e queremos que certa palavra apareça sempre como link.
Em vez de
porque não simplificar?
^^ Owned xD
Fica mais curto, mas expressões regulares consomem muitos mais recursos (principalmente com tantos “ou”‘s) do que comparações de string. No entanto, é verdade que o que fizeste também está correcto e até abrange um caso que eu não tenho, o do ftps://
Não é para desmoralizar mas acredita que neste caso fica mais rápido do que chamar 5 vezes a função stristr().
Não fiz os testes, mas não digo que é impossível.
Se é esse o caso, obrigado pela dica.