Newsgroup: it.comp.www.asp
Titolo: script per quotare in automatico

ciao a tutti
sto sviluppando un forum in asp e vorrei che, quando gli utenti
rispondono ad un messaggio esistente, nella <textarea> comparisse il
messaggio padre, ogni riga però con "> " davanti. quotare in pratica.
ho cercato in giro per la rete ma non ho trovato nulla che mi
"illuminasse". chiariamoci non pretendo di trovarlo già pronto eh? ma
da solo proprio non ci riesco e allora chiedo a ciascuno di voi se
sapete indicarmi un punto di partenza o anche solo un link che faccia
al caso mio. l'unica indicazione che posso darvi è che sto usando
JScript.
grazie in anticipo
raenkrus

apema...@freepass.it
 scrive...

Capiti a fagiolo, ci ero già incappato tempo addietro.
Non è difficile dividere la stringa in blocchi, il problema è che le 
parole non devono essere troncate a metà. Quindi tocca splittare la 
stringa per ogni parola. Ma è comunque semplice, più di quanto si possa 
pensare.
in VB avevo fatto:
Lunghezza = 20
Stringa = "Tanto va il maiale al lardo che ci lascia lo zampone. Impara 
l'arte che ci lascia lo zampino. Non è bello ciò che è bello, ma che 
bello che bello che bello"
arr = Split(stringa, " ")
for i = 0 to UBound(arr)
	riga = riga & " " & arr(i)
	IF Len(riga) >= Lunghezza OR i = UBound(arr) Then
		Response.Write("&gt; " & riga & "<br>")
		riga = ""
	End IF
Next
Ovviamente quel "&gt; " è la ">" in HTML.
Aggiungi quanto serve se vuoi lo stesso per gli "a capo".
L'OR serve per stampare comunque l'ultima parte della stringa, anche se 
è inferiore alla lunghezza predefinita.

 pensare.
Non sarebbe più semplice contare x spazi e andare a capo con il ">"?
bene o male, se non ci sono parole come precipitevolissimevolmente
le righe, in media, verrebbero abbastanza uguali.
--
ciao!
....nixs.....................................................................
..
ni...@lucchettolagirandola.it
togli la SERRATURA per scrivermi
.............................................................................
....
L'uomo non smette di giocare perché invecchia,
ma invecchia perché smette di giocare.
(George Bernard Shaw)

 [cut]
ti ringrazio per la dritta, sono riuscito a far funzionare il tutto
traducendo il tuo codice da VBScript a JScript cosě:
function quota(testo) {
	riga = "";
	max_riga = 64;
	arr = testo.split(" ");
	for(i=0;i<=arr.length;i++) {
		riga += " " + arr[i];
		if (riga.length >= max_riga || i == arr.length-1) {
			quotato += "&gt;" + riga + "\r\n";
			riga = "";
		}
	}
}
ora devo risolvere il problema di quotare un testo giŕ quotato.
infatti la funzione sembra non capire piů nulla quando si trova un "&gt;"
all'inizio della riga... o forse sono i "\r\n" boh...
ci lavorerň sopra, intanto grazie mille di nuovo!
raenkrus

 ci lavorerò sopra, intanto grazie mille di nuovo!
Che significa quotare un testo già quotato?
Che devi trasformare il ">" in ">>" all'inizio
di ogni riga?
Se è così... sostituisci semplicemente ">" con ">>"


 traducendo il tuo codice da VBScript a JScript così:
Se è già quotato, direi che non serve riapplicare la funzione, 
basterebbe solo duplicare il ">".
In VB si potrebbe fare un
stringa = ....
stringa = replace(stringa, "&gt;", "&gt;&gt;")

 Se è così... sostituisci semplicemente ">" con ">>"
E se aggiungendo il >> la riga diventasse più lunga della lunghezza utile
impostata all'inizio?
Ho avuto anch'io questo problema e non è per nulla semplice risolverlo.
-- 
KaOne (26,75,BA)
206 1.4 XT Enfant Terrible
Se per te 206 non è solo un numero:
http://it.groups.yahoo.com/group/206life/
---------------------------------------------

 impostata all'inizio?
....se sai che potresti avere l'esigenza di aggiungerlo ti conservi un certo
numero di spazi per farlo (diciamo 5?) ;-)
