Sunfox


Plugin WordPress Espace Insécable

Je suis en train de fabriquer un plugin pour WordPress qui place automatiquement les espaces insécables. Je m’aide d’un tutoriel et donc pour l’instant « Insécable » ne fait que remplacer : par  : pour les caractères : ; ? ! dans les articles. Je suis donc en train de le tester, pour voir s’il ne cause aucun problème majeur.

Ce qui serait bien serait une expression régulière qui fasse l’affaire en une seul fois et qui prenne en compte les différents cas de figure de la typographie. En français il faut que l’espace insécable apparaisse :

  • avant le deux-points (Voici mon plan : on entre en douce, puis…)
  • avant les ponctuations doubles (; ? !)
  • après les guillemets ouvrants et avant les fermants (Il m’a crié : « Attrape ! »)
  • entre un nombre et son symbole (10 cm, 10 h, %, $, €, etc.)
  • entre un titre de civilité abrégé et un nom propre (M. Cheval, Me Uma)
  • avant chaque tranche de trois chiffres dans les quantités (22 000 000).

Et je dois aussi eviter qu’il apparraisse :

  • entre les balises <code> et <pre>
  • dans les styles css
  • pour les emoticônes :p
  • là où elles ne doivent pas s’afficher
  • là où elles posent un quelquonque problème.

J’ai déjà trouvé une expression régulière mais celle-ci est incomplète et n’a pas fonctionné correctement.

eregi_replace('([ ]*)([?!:;]{1})', '&nbsp;\2', $texte);

Sans doute faudrait-il que j’apprenne à mieux me servir des expressions régulières pour réussir à en faire une moi même qui tienne compte de toutes ces règles.

Voici en attendant le plugin Insécable, en attendant d’être absolument testé pour le sortir officiellement et pourquoi pas l’intégrer à la version française de WordPress.

1 Trackback

  1. Wordpress et les règles de typographie : Kalam :::: communication rédactionnelle | gestion de contenus | création de sites et de blogs :

    […] que moi et deux quidams qui, en 2004 pour l’un (le blog est hors service) et en 2005 pour l’autre, ont vaguement tenté de mettre au point une extension qui automatiserait la tâche. […]

10 Commentaires

  1. 1 areku :

    Euh, après les guillemets ouvrants et avant les fermants (Il m’a crié : « Attrape ! ») >>> t’es sûr pour celle là ?
    Et je déteste les expressions régulières, pas compter sur moi (6/60 sur la matière, hein, tu te souviens).

  2. 2 Sunny :

    Oui sûr :) Tu connais personne qui a eu une bonne note et trop de temps libre ?

  3. 3 Sunny :

    Tiens d’ailleurs le code que ça vient de pondre à l’instant est :

    <p>Oui sûr&nbsp;:)</p>

    <p>Lol, tu connais personne qui a eu une bonne note et qui a trop de temps libre&nbsp;?&nbsp;:p</p>

  4. 4 docLegi :

    Je ne pense pas qu’il y ait un moyen d’avoir une seul expression régulière pour tout faire : les cas sont assez différents. Mais bon tu peux toujours t’aider des expressions régulières utilisées dans wiki2xhtml.

    Sinon j’ai un doute à propos des unités… je n’ai jamais vu les unités séparées des chiffres (on écrit 3€ pas 3 €, 20m, pas 20 m, etc…). Mais bon je peux me tromper. En tout cas je te conseille de proposer des options pour ton plugin, pour que chacun puisse choisir selon ses propres sensibilités (pas d’espace pour les unités en ce qui me concerne par exemple :P)

  5. 5 Sunny :

    L’espace entre les unités est un peu vague ouais. Je ferais en sorte que si jamais il y a un espace il le transforme en espace insécable.

    Je crois qu’une expression régulière ça serait assez dur, au moins une pour chaque cas et que ça fonctionne sans soucis ça serait déjà vachement bien.

    Tu te débrouilles en expressions régulières toi doclegi ?

  6. 6 docLegi :

    Oui je me débrouille, sans plus.

  7. 7 Sunny :

    Moi j’y comprends à vrai dire pas grand chose. Tu saurais faire en sorte que ça ne fonctionne partout sauf à l’interieur d’attributs :?

  8. 8 areku :

    Ha oui, et puis méfie-toi des deux points, ou fait des exceptions sur les smileys… Ca va pas être du gateau (de riz) tout ça !

  9. 9 Jn :

    J’ai fait un plug-in de ce genre mais il ne marche pas avec les guillemets typographiques http://www.hyperbate.com/typographe/

  10. 10 Sunny :

    Bonjour Jn, merci pour ce petit plug-in. Mais malheureusement il souffre des mêmes défauts que le miens : si j’écris <div style="color : red"> il va me le transformer aussi !

👨🏻‍🦰 Sunny Ripert

est un développeur web vivant à ParisContactArchives

Textes et contenus sous licence Creative Commons.