Retorno: string
Descrição: Retorna uma string cortando ela no primeiro espaço (caractere espaço) próximo de $length. O parâmetro 'where_reply' define se o espaço será antes ou depois de $lenght.
Bibliotecas: Nenhuma
Limitações: PHP 3.0+
Função:
define("TRUNC_BEFORE_LENGHT", 0); define("TRUNC_AFTER_LENGHT", 1); function str_truncate($str, $length, $rep=TRUNC_BEFORE_LENGHT) { //adicionada em 27/06/2006 para corrigir um bug if(strlen($str)<=$length) return $str; if($rep == TRUNC_BEFORE_LENGHT) $oc = strrpos(substr($str,0,$length),' '); if($rep == TRUNC_AFTER_LENGHT) $oc = strpos(substr($str,$length),' ') + $length; return substr($str, 0, $oc); }Exemplo de utilização:
Lembra aquele texto que você quer cortar pra colocar num espacinho pequeno dentro do site? Aí vc usa substr() e acaba cortanto no meio de uma palavra. Imagine a situação o seguinte texto:
Então, chapeuzinho vermelho decide tomar no cantinho bem escondida, uma lata de leite condensado.
Então, chapeuzinho vermelho decide tomar no c...
Fica chato neh? hehehe
Usando a str_truncate(), vc faria:
<? $frase = "Então, chapeuzinho vermelho decide tomar no cantinho bem escondida, uma lata de leite condensado."; print str_truncate($frase, 45, TRUNC_AFTER_LENGHT) . '...'; ?>E seria exibido:
Que tal?Então, chapeuzinho vermelho decide tomar no cantinho...
----------------- Editando -----------------
A função só vai funcionar se o uso dela for correto.. Ou seja, os dados tem que estar dentro do que a função espera..
Como tenho uso específico para esta função não me preocupei em validar os dados.. Por isso, caso alguém queira adicionar checagem de dados pra não dar merd* qto utilizar a função em situações que não estão sob controle, sintam-se a vontade..
Vlw..
Edição feita por: Chinello Cybernético, 27/06/2006, 03:45.