maybe i have found the trick, at least
i've tried another thing: a "repeat" loop where the script bring a word at time and put it and " " after a new, empty variable: it doesn't work, the text is truncated, again
then i tried again: a "replace " " with return" that have to put every word in a new line, but... some lines, even if i see spaces, still was longer than the field
the broken texts contains some strange codes: \u000d, \u000a and \u0009
i tried to clean up these codes simply to not see it, but it seems to work like "tags", once i removed it the text seems to work: the replace " " with return works
i think these codes (\u000d, \u000a and \u0009) works in a strange way and keep the text between it together like a single word
hope this helps
edit: the code is unicode

it seems like the authors posted to the website the texts with returns in it and the website's database (with java, i suppose) coded the returns with unicode codes for CR and LF, in fact, if i change " \u000d\u000a" in the whole text i get the page "formatted" or so

how many hypercardist are needed to change a light bulb? one to actually do it while at least a dozen more are finding out a slightly different way to do it
proudly hypertalking since 1989