Usamos cookies para medir audiência e melhorar sua experiência. Você pode aceitar ou recusar a qualquer momento. Veja sobre o iMasters.
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]"))
Carregando comentários...