ASP: parole troppo lunghe?

0.00 avg. rating (0% score) - 0 votes

Nella progettazione web c’è un passaggio molto importante: quello in cui si decide come disporre il contenuto sulla pagina. A volte però lo spazio disponibile è poco, specie in orizzontale, e l’utilizzo di CMS (Content Management System) non permette di prevedere cosa scriveranno gli utenti abilitati.

E cosa succederebbe se scrivessero parole come “supercalifragilistichespiralidoso” in un box largo 100 pixel? Molto probabilmente si andrebbe a rovinare il layout, ed è la stessa cosa che succede per i commenti di dBlog nella versione 2.0.

Nel mio blog personale (questo) ho risolto con un’apposita funzione che includerò anche nella prossima release, la pubblico direttamente per chi desidera utilizzarla da subito.

‘Controlla una stringa per le parole più lunghe di N caratteri e se le trova le spezza

Function ParoleLunghe(Stringa, Dove)

Dim ArrayTemp, Risultato, I, J, ParolaTemp

If Len(Stringa) > 0 Then

ArrayTemp = Split(Stringa, ” “)

For I = 0 To UBound(ArrayTemp)

If Len(ArrayTemp(I)) > Dove Then

ParolaTemp = “”

For J = 1 To Len(ArrayTemp(I))

ParolaTemp = ParolaTemp & Mid(ArrayTemp(I), J, 1)

If J Mod Dove = 0 Then

ParolaTemp = ParolaTemp & ” “

End If

Next

ArrayTemp(I) = ParolaTemp

End If

Next

Risultato = Join(ArrayTemp)

Else

Risultato = Stringa

End If

ParoleLunghe = Risultato

End Function

L’installazione è molto semplice: basta copiarla dentro inc_funzioni.asp, poi modificare articolo.asp e fotografia.asp dove trovate <%=RSCommenti(“Testo”)%> in <%=ParoleLunghe(RSCommenti(“Testo”), 50)%> dove 50 è il numero massimo di caratteri attaccati che non rovinano la grafica.

5 commenti per ASP: parole troppo lunghe?
  1. diego Rispondi

    nel box commenti funziona perfettamente ma il problema rimane nella barra laterale dove c’è l’anteprima dei commenti…

  2. diego Rispondi

    poi ho notato che con l’ultima versione di firefox non funziona il redirect visualizza dopo l’inserimento di un commento…
    http://www.dblog.it/dblog/commenti_invio.asp?articolo=546#commenti

  3. Marlenek Rispondi

    Per la barra laterale la logica è la stessa, usa la funzione così ParoleLunghe(VariabileStringa, NumeroMassimoCaratteri) sostituendo VariabileStringa con la variabile della tua situazione e NumeroMassimoCaratteri con la lunghezza massima permessa per ogni parola, che chiaramente dipende dalla larghezza del riquadro. Eventualmente scrivi sul forum per questi problemi, ciao!

  4. Marlenek Rispondi

    Diego grazie per la segnalazione sul link non funzionante, ora sembra a posto : - )

  5. Corrado Rispondi

    Il codice mi da un errore in corrispondenza della riga ArrayTemp = Split(Stringa, ” “)

Lascia un commento

Il tuo indirizzo mail non verrà pubblicato. Inserisci il tuo nome, la tua mail e il commento.