voici du code typique généré par worddaube en faisant un copié-collé:
solution: passer par une phase intermédiaire, avec 3 fenêtres:
1. Copier-coller de word dans l'éditeur simple
2. Couper-coller depuis l'éditeur simple vers firefox dans l'éditeur WYSIWYG d'un bloc contenu concretecms
normalement le code est propre, à vérifier
on utilise ensuite l'éditeur WYSIWYG de concretecms pour mettre en forme
une fois que le messy code est là, on peut aussi nettoyer à la main si on en a le courage, sinon utiliser des outils:
/// <summary> /// Removes all FONT and SPAN tags, and all Class and Style attributes. /// Designed to get rid of non-standard Microsoft Word HTML tags. /// </summary> private string CleanHtml(string html) { // start by completely removing all unwanted tags html = Regex.Replace(html, @"<[/]?(font|span|xml|del|ins|[ovwxp]:\w+)[^>]*?>", "", RegexOptions.IgnoreCase); // then run another pass over the html (twice), removing unwanted attributes html = Regex.Replace(html, @"<([^>]*)(?:class|lang|style|size|face|[ovwxp]:\w+)=(?:'[^']*'|""[^""]*""|[^>]+)([^>]*)>","<$1$2>", RegexOptions.IgnoreCase); html = Regex.Replace(html, @"<([^>]*)(?:class|lang|style|size|face|[ovwxp]:\w+)=(?:'[^']*'|""[^""]*""|[^>]+)([^>]*)>","<$1$2>", RegexOptions.IgnoreCase); return html; }