Spezzare stringhe molte lunghe

di Andrea Palmatè, in Classic ASP, Coding,

Con questa funzione è possibile dividere una parola molto lunga in n caratteri in modo che possa essere visualizzata in modo corretto nella pagina.

<%
Function SplittaParole(sTemp,n)

  Dim aVet
  Dim I, J
  Dim sParola
  Dim nOcc
  Dim sTemp1

  'Suddivido le parole nella frase e le metto in un vettore
  aVet = Split(sTemp, " ")

  'Se c'è più di una parola allora
  If UBound(aVet) > 0 Then
     For I = LBound(aVet) To UBound(aVet)
      'Calcolo in quante parti devo dividere la parola
         If Len(aVet(I)) > n Then
             nOcc = Len(aVet(I)) / n
             For J = 0 To nOcc
                 If J = 0 Then
                    'Aggiungo un segno di split della parola
                      sParola = sParola & Mid(aVet(I), 1, n) & "- "
                 Else
                     sParola = sParola & Mid(aVet(I), J * n, n) & "- "
                 End If
             Next
         End If

         'Aggiungo la parola spezzettata alla stringa temporanea
          sTemp1 = sTemp1 & sParola
         sParola = ""
     Next

  Else

    'Se la lunghezza dell'unica parola è maggiore di n
     If Len(sTemp) > n Then
      nOcc = Len(sTemp) / n
      For J = 0 To nOcc
        If J = 0 Then
          sParola = sParola & Mid(sTemp, 1, n) & " "
        Else
          sParola = sParola & Mid(sTemp, J * n, n) & " "
        End If
      Next

      sTemp1 = sParola
    Else
      'Asseggno alla stringa temporanea la stringa originale
      sTemp1 = sTemp
    End If
  End If

 'Restitusico la stringa tagliata
  SplittaParole = sTemp1

End Function

%>

E' un po' complessa, ma dovrebbe funzionare. Naturalmente non è un granchè con le stringhe che contengono codice HTML perchè lo taglia, ma provando ad esempio:

<%

Response.Write(SplittaParola(String(255,"a")))

%>

dovremmo avere il risultato corretto...

Commenti

Visualizza/aggiungi commenti

| Condividi su: Twitter, Facebook, LinkedIn

Per inserire un commento, devi avere un account.

Fai il login e torna a questa pagina, oppure registrati alla nostra community.

Approfondimenti

Nessuna risorsa collegata

I più letti di oggi