setembro 4, 2012

Função Veja Mais/Saiba Mais em PHP

Por Rogerio Coli

Neste tutorial apresento uma simples função em PHP que retornará uma string com o tamanho especifico seguida do link “veja mais” que redirecionará para a URL. Função bem simples que é muito utilizadas em layouts que não permitem que o conteúdo se expanda muito sem perder a formatação.

A função recebe 4 parâmetros, a frase que deverá ser encurtada ($string); o tamanho de caracteres que deverá ter a string final ($corte), com um valor padrão; o link ($url) e o texto do link, também com um valor padrão: “Veja Mais”.

Note que a frase será cortada no espaço imediatamente anterior ao tamanho especificado.

// Retorna a string com o tamanho específico e o link veja mais

      function vejaMais($string, $tamanho = 10, $url, $txt="Veja Mais"){

            $tamanhoStr = strlen($string);

            for ($index = 0; $index < $tamanhoStr; $index++) {

                $caractere = $string[$index];

                if ($caractere == " ") {

                    if ($index <= $tamanho) {
                        $corte = $index;
                    }
                }
            }

            return substr($string, 0, $corte) . "... <a href=\"$url\">" . $txt . "</a>";
        }

Abaixo, como chamar o código na página. A recomendação é que seja usado o primeiro método evitando que o nome seja confundido com as funções reservadas do PHP. Neste caso, não faz muita diferença uma vez que não há funções em português em PHP.

// 1 exemplo de chamada

echo call_user_func_array('vejaMais',array('Minha String a ser cortada', 50, 'http://www.google.com'));

// OU simplesmente

echo vejaMais('Minha String a ser cortada', 50, 'http://www.google.com');

Essa instrução retornará a seguinte frase: Minha String a ser… Veja Mais