c5 clean copy-paste html code: éviter le code dégueulasse généré par word (ou autre)
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:
- une word (openoffice - qui génère aussi un code assez sale) pour voir l'original
- une éditeur vraiment simple (genre notepad): attention, un éditeur plus avancé (p. ex. VScodium aka Codium) va aussi embarquer du border, donc non
- une firefox
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
Nettoyer le code
une fois que le messy code est là, on peut aussi nettoyer à la main si on en a le courage, sinon utiliser des outils:
onlineTools
via un script
/// <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; }



