Foros del Web » Programando para Internet » ASP Clásico »

Recoriendo memo y cortando...

Estas en el tema de Recoriendo memo y cortando... en el foro de ASP Clásico en Foros del Web. Hola, amoss a ver... la idea es poder cortar una cada de texto de longitud X a los X caracteres sin cortar una palabra x ...
  #1 (permalink)  
Antiguo 28/10/2003, 13:11
Avatar de sanfermin  
Fecha de Ingreso: diciembre-2001
Mensajes: 601
Antigüedad: 22 años, 6 meses
Puntos: 2
Pregunta Recoriendo memo y cortando...

Hola, amoss a ver... la idea es poder cortar una cada de texto de longitud X a los X caracteres sin cortar una palabra x la mitad...

es decir:

"En un lugar de la Mancha, de cuyo nombre no quiero acord..."

en lugar de:

"En un lugar de la Mancha, de cuyo nombre no quiero acordarme..."

como recorro la variable q contiene el texto de palabra en palabra?

supongo q será con un bucle desde 0 hasta la longitud total de la variable de texto: len(variable)

pero en ASP?
__________________
MainMind.com
La blasfemia es el único lenguaje que de verdad conocen todos los programadores
  #2 (permalink)  
Antiguo 28/10/2003, 13:31
Avatar de u_goldman
Moderador
 
Fecha de Ingreso: enero-2002
Mensajes: 8.031
Antigüedad: 22 años, 5 meses
Puntos: 98
Qué tal algo así:

<%
variable= "En un lugar cuyo nombre no quiero acordarme"

arrPalabra= split(variable, " ")

contar_caracter=0
maximo_numero= 30
mi_frase= ""
For i=0 to uBound(arrPalabra)
contar_caracter= contar_caracter + len(arrPalabra(i))
If not contar_caracter > maximo_numero Then
mi_frase= mi_frase & " " & arrPalabra(i)
Else
Exit For
End If
Next
Response.Write(mi_frase & "...")
%>

No lo he probado pero debería de funcionar

Salu2,
__________________
"El hombre que ha empezado a vivir seriamente por dentro, empieza a vivir más sencillamente por fuera."
-- Ernest Hemingway
  #3 (permalink)  
Antiguo 28/10/2003, 13:57
Avatar de sanfermin  
Fecha de Ingreso: diciembre-2001
Mensajes: 601
Antigüedad: 22 años, 6 meses
Puntos: 2
Gracias, la he puesto bonita y todo:


<%

function cortar(texto,maximo_numero)

' Sintaxis: cortar (texto,maximo_numero)
' texto = cadena de texto
' maximo_numero = número de caracteres a mostrar
' al final se añaden 3 puntos "..."
' Función para vuestro disfrute por u_goldman y sanfermin
' www.portalurbano.com
' no quites estas lineas :)


Dim ArrPalabra 'Array con las palabras
Dim contar_caracter 'Posición con la q se recorre el array
Dim texto_nuevo 'Guardamos el texto reformateado y cortado

'Convierto los retornos de carro y las tabulaciones en espacios
texto = Replace (texto, VbCr, " ")
texto = Replace (texto, VbLf, " ")
texto = Replace (texto, VbCrLf, " ")
texto = Replace (texto, VbTab, " ")
'Elimino el espacio en blanco de antes y después
texto = Trim(texto)
'Recorro la cadena y voy reduciendo los múltiples espacios a uno solo
while InStr(1, texto, " ", 1)
texto = Replace(texto, " ", " ")
wend

arrPalabra= split(texto, " ")

contar_caracter=0
texto= ""
For i=0 to uBound(arrPalabra)
contar_caracter= contar_caracter + len(arrPalabra(i))
If not contar_caracter > maximo_numero Then
texto_nuevo = texto_nuevo & " " & arrPalabra(i)
Else
Exit For
End If
Next
cortar = texto_nuevo & "..."

end function


texto= "En un lugar cuyo nombre no quiero acordarme"

response.write(cortar(texto,30))

%>
__________________
MainMind.com
La blasfemia es el único lenguaje que de verdad conocen todos los programadores
  #4 (permalink)  
Antiguo 28/10/2003, 19:56
Avatar de u_goldman
Moderador
 
Fecha de Ingreso: enero-2002
Mensajes: 8.031
Antigüedad: 22 años, 5 meses
Puntos: 98
Perfecto!!
__________________
"El hombre que ha empezado a vivir seriamente por dentro, empieza a vivir más sencillamente por fuera."
-- Ernest Hemingway
  #5 (permalink)  
Antiguo 01/11/2003, 08:37
Avatar de sanfermin  
Fecha de Ingreso: diciembre-2001
Mensajes: 601
Antigüedad: 22 años, 6 meses
Puntos: 2
v 2.0? jeje

es posible hacer esto mediante SQL???


si dentro del campo existen sentencias en HTML

<a href="www.kink.es">link</a>

como hacer para no cortarlo?
__________________
MainMind.com
La blasfemia es el único lenguaje que de verdad conocen todos los programadores

Última edición por sanfermin; 01/11/2003 a las 08:58
  #6 (permalink)  
Antiguo 21/10/2004, 12:04
Avatar de sanfermin  
Fecha de Ingreso: diciembre-2001
Mensajes: 601
Antigüedad: 22 años, 6 meses
Puntos: 2
Retomando el tema y más simplificado... esta vez como necesitaba que en cada texto/noticia se cortara de un punto diferente busco la cadena [END] dentro del texto q delimitará el punto a cortar la noticia:

Código:
' Busca en la cadena la marca [END] y la corta
' made in PortalUrbano.com xD

function CortarNoticia(cadena1)
	cadena = cstr(cadena1)
	cadena = split(cadena,"[END]",-1,1)
	if ubound(cadena) = 0 then
		CortarNoticia = cstr(cadena1)
	else
		CortarNoticia = cadena(0) & "..."
	end if
end function ' ----------------
__________________
MainMind.com
La blasfemia es el único lenguaje que de verdad conocen todos los programadores
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 23:47.