Função para limitar textos sem cortar palavras em ASP.NET

quinta-feira, 21 maio 2009 23:28 por leolima77

Função em ASP.NET para limitar textos com uma quantidade de caracteres pré-definidos, mas ai alguém fala, isso é fácil, é só usar a função padleft, padright ou substring que funciona, porém essa é diferente, ela não corta as palavras no meio, o script procura o próximo espaço em branco e retorna a palavra completa!

Qualquer dúvida entrem em contato

        public string limitarTexto(string texto, int quantidade)
        {
            string strRetorno = null;

            texto = texto.Trim();

            if (texto.Substring(0, texto.Length).Trim().IndexOf(" ") > 0)
            {
                if (texto.Length >= quantidade + 1)
                {
                    if (texto.Substring(0, quantidade + 1).Trim() != " ")
                    {
                        int posicaoEspaco = texto.Substring(0, quantidade - 1).Trim().LastIndexOf(" ");
                        if (posicaoEspaco > 0)
                        {
                            strRetorno = texto.Substring(0, posicaoEspaco).Trim();
                        }
                        else
                        {
                            int posicaoEspacoPalavra = texto.Substring(0, texto.Length).Trim().IndexOf(" ");
                            if (posicaoEspaco < texto.Substring(0, posicaoEspacoPalavra).Trim().IndexOf(" "))
                            {
                                strRetorno = texto.Substring(0, quantidade).Trim();
                            }
                            else
                            {
                                strRetorno = texto.Substring(0, posicaoEspacoPalavra).Trim();
                            }
                        }
                    }
                }
            }

            return strRetorno;
        }

Tags:   ,
Categorias:   Dicas
Ferramentas:   E-mail | del.icio.us | digg | rec6 | linkk | Permalink