Faut pas oublier que le contenu d'un textarea est écrit dans un compartiment html, donc tu retrouves tous les problèmes d'échappement des balises, entités, etc., à quelques exceptions près. Soit tu utilises les fonctions habituelles fournies par PHP pour convertir ces éléments (dans les deux sens), soit tu ponds des fonctions spécialisées qui traitent exactement ton problème en fonction de ce que tu veux garder/ignorer dans ta correspondance fichier<>formulaire.
Voici quelques éléments critiques à examiner:
- les "htmlspecials" : lt(< ), gt(> ) et amp(& ) - La fonction htmlspecialchars permet usuellement de convertir ces trois cars en leur entité HTML
- les "magics" : apos('), quotes(" ) et antislash(\) - selon magic_quotes_gpc, les magics seront échappés (ou pas!) avant récup sous PHP des données envoyées par le formulaire. Il faut parfois neutraliser ce comportement.
- l'espace insécable: difficile à produire dans un textarea mais l'ascii 160 fonctionne (=\240). On le récupère sous cette forme, on l'injecte traditionnellement avec
- les tabulations: je crois qu'elles sont conservées telles quelles dans textarea (ce ne serait pas le cas dans text)
- les sauts: qu'on envoie NL (10) ou RC (13+10) dans un textarea, il l'interprète comme RC. Ca peut nécessiter des ajustements.