Ir para conteúdo

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

jrcardozo

Função 3 pontinhos "diferente"

Recommended Posts

Espero que seja útil, se tiver erro por favor comunique...sugestões e críticas sempre bem vindas:

ASP
'Função resumetxto

'Criada por : Jonathan  Cardozo (jonathandj)

'Data : 15-09-2007

'Objetivo : Resumir uma string sem tags Html definindo o texto indicando que há mais conteudo

'Mantenham os Créditos

function resumetexto(str,pos,strLink)

 'strAux = string com ou sem tags html a ser resumida

 'pos = quantidade de caracteres a serem exibidos no resumo

 'strLink = string contendo o endereço completo para criar um link ou texto simples para exibir no final quando o texto for resumido

 strAux = str

 semhtml = trim(limpaHtml(strAux))

 if instr(trim(mid(semhtml,1,len(semhtml)))," ")<>0 then

  if len(semhtml) >= pos+1 then

   if trim(mid(semhtml,pos,pos-1)) <> " " then

    posicaoEspaco = instrrev(trim(mid(semhtml,1,pos-1))," ")

    if posicaoEspaco <> 0 then

     semhtml = trim(mid(semhtml,1,posicaoEspaco))&strLink

    else

     posicaoEspacoPalavra = instr(mid(semhtml,1,len(semhtml))," ")

     if posicaoEspaco < instr(trim(mid(semhtml,1,posicaoEspacoPalavra))," ") then

      semhtml = trim(mid(semhtml,1,pos))&strLink

     else

      semhtml = trim(mid(semhtml,1,posicaoEspacoPalavra))&strLink

     end if

    end if

   end if

  end if

 end if

 resumetexto = semhtml

end function

 

'Função limpaHtml retirado do fórum iMasters

Function limpaHtml(strHtml)

 'strHtml = string contendo texto com tags html  

    Dim objER    

    Set objER        = New RegExp    

    objER.IgnoreCase = True  

    objER.Global     = True  

    objER.Pattern    = "<[^>]*>"          

    StrAux          = strHTML  

    StrAux          = objER.Replace(StrAux, "")        

    Set objER        = Nothing    

    limpaHtml        = StrAux  

End Function

Exemplos de chamada:

ASP
response.write(resumetexto("minha string contendo o texto que desejo resumir sem cortar a palavra",50," <a href=""leiamais.asp?id=1"">Leia mais</a>"))

 

response.write(resumetexto("minha string contendo o texto que desejo resumir sem cortar a palavra",12," ..."))

 

response.write(resumetexto("minha string contendo o texto que desejo resumir sem cortar a palavra",200," [Notícia Completa]"))

Compartilhar este post


Link para o post
Compartilhar em outros sites

Não sei se esse é o lugar certo pra tirar essa dúvida, mas enfim, n consigo implementar esse código com um registro vindo do banco, já tentei de tudo... Tá assim atualmente:

 

<% response.write(resumetexto("imoveis.Fields.Item("ShortDesc").Value",12," ...")) %>

Desde já agradeço se alguém puder me dar uma dica de como fazer funcionar

Compartilhar este post


Link para o post
Compartilhar em outros sites

Qual o erro?

Compartilhar este post


Link para o post
Compartilhar em outros sites

Tipo de erro:
Erro de compilação do Microsoft VBScript (0x800A03EE)
')' esperado
/novo_central/index.asp, line 451, column 49
response.write(resumetexto("imoveis.Fields.Item("ShortDesc").Value",12," ..."))
------------------------------------------------^

Já tentei colocar o ")" de todo jeito e não consigo.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Faça o que o augustoclaro disse. você havia colocado aspas no lugar errado.

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.