Creare l'anteprima di un testo

di Andrea Palmatè, in Classic ASP, Coding,

La funzione oggetto di questo script permette di visualizzare, come ad esempio viene fatto sull'home page di questo stesso sito, solo alcune parole relative ad un testo, rimandando l'utente al testo completo per approfondimenti.
Si tratta di una semplice funzione che prende come input due valori, la stringa ed il numero di parole ed in base a questo esegue la modifica sul testo.

<%

'Funzione Anteprima
'------------------
'Parametri:
'sText   : Testo su cui effettuare l'Anteprima.
'nParole : Numero parole da visualizzare.
'------------------

Function Anteprima(sText, nParole)

  Dim nTemp, nVolte

  'Eliminiamo gli eventuiali caratteri di CR ed LF
  sText = Replace(sText, vbCrLf, "")

  'Cerca la fine della prima parola
  nTemp = InStr(sText, " ")

  If nTemp <> 0 Then

     nVolte = 1
      'Finchè non abbiamo finito le parole o abbiamo
     'raggiunto quelle massime
      While nTemp <> 0 And nVolte < nParole

        'Incrementiamo il numero delle parole trovate
         nVolte = nVolte + 1

        'Cerchiamo la fine della parola successiva
         nTemp = InStr(nTemp + 1, sText, " ")
     Wend
  End If

  'Se abbiamo trovato qualche parola
  If nVolte > 0 Then


      'Se La variabile nTemp > 0 allora significa che
     'abbiamo trovato le n parole che ci serivivano
     If nTemp > 0 Then

        'Le stampiamo insieme ai puntini
         Anteprima = Mid(sText, 1, nTemp - 1) & "..."
     Else

         'Altrimenti abbiamo trovato meno delle n
        'parole. Stampiamo la frase intera assieme ai puntini
         Anteprima = sText & "..."
     End If

  Else

     ' una sola parola
     If Len(sText) > 0 Then
         Anteprima = sText & "..."
     Else
         'La frase passata ha lunghezza 0
          Anteprima = ""
     End If
  End If

End Function


strText = "questo test permette di verificare che " &_
          "le uniche parole ad essere stampante " &_
          " saranno queste e nient'altro. iscriviti " &_
          " anche tu ad unoscript@lgiorno e potrai " &_
          " ricevere ogni giorno uno script nuovo!"

' stampo 10 parole
Response.write anteprima(strText, 10)

%>

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