info:concrete5:59:codeclean

Différences

Ci-dessous, les différences entre deux révisions de la page.

Lien vers cette vue comparative

Les deux révisions précédentes Révision précédente
info:concrete5:59:codeclean [2025/09/19 04:53] – supprimée - modification externe (Date inconnue) 127.0.0.1info:concrete5:59:codeclean [2025/09/19 04:53] (Version actuelle) – ↷ Page déplacée de info:concrete5:58:codeclean à info:concrete5:59:codeclean radeff
Ligne 1: Ligne 1:
 +====== 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é:
  
 +{{:info:concrete5:58:doc-to-html-code-source.jpg?600|}}
 +
 +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. [[..:..:code:codium|VScodium aka Codium]]) va aussi embarquer du border, donc non
 +  * une firefox
 +
 +1. Copier-coller de word dans l'éditeur simple
 +
 +{{:info:concrete5:58:20250613_063229.jpg|}}
 +
 +2. Couper-coller depuis l'éditeur simple vers firefox dans l'éditeur WYSIWYG d'un bloc contenu concretecms
 +
 +{{:info:concrete5:58:20250613_063336.jpg|}}
 +
 +normalement le code est propre, à vérifier
 +
 +{{:info:concrete5:58:20250613_063356.jpg|}}
 +
 +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 =====
 +  * https://textism.com/wordcleaner/
 +  * https://html-cleaner.com/doc-to-html/
 +===== via un script =====
 +
 +<code c>
 +/// <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;
 +}
 +</code>
 +
 +source: https://web.archive.org/web/20060128210548/http://tim.mackey.ie/CleanWordHTMLUsingRegularExpressions.aspx