DotClear : afficher deux smileys les mêmes à la suite l'un de l'autre
Par Benjamin le vendredi 25 février 2005, 13h21 - DotClear - Lien permanent - URL miniature
Depuis un certain temps déjà, je me demandais pourquoi diable DotClear ne permettait pas l'affichage de deux smileys les mêmes l'un à la suite de l'autre. On obtenait comme tout résultat un smiley affiché correctement et le deuxième restait le raccourci en texte. J'avais déjà jeté plusieurs yeux dans la source sans succès, les expressions régulières n'étant pas nécessairement mes meilleures amies.
J'aime toutefois le risque et le surclassement non autorisé (rien à voir, je voulais juste dire "surclassement") et j'ai donc été visiter quelques sites sympatiques, à savoir : Expreg.com et puis directement le manuel PCRE sur le site officiel. Résultat des courses, j'ai finalement trouvé la solution à ce problème ô combien terrible et déroutant.
J'avais donc commencé à analyser l'espression régulière point par point pour trouver l'erreur. Le fichier qui gère les smileys dans DotClear se trouve dans /layout/class.xblog.php et la ligne qui semblait poser problème était la ligne 55 de ce fichier :
$r = '/(\A|[\s]+|>)('.preg_quote($matches[1],'/').')([\s]+|[<]|\Z)/ms';
Commençant par le début de cette ligne et cherchant la signification du "\A", voilà ce que je trouve dans le manuel PCRE :
\b : matches at a word boundary \B : matches when not at a word boundary \A : matches at start of subject \Z : matches at end of subject or before newline at end \z : matches at end of subject \G : matches at first matching position in subject
"Je n'ai rien à perdre", me dis-je, et je me lance donc dans la folle aventure qui consitait à remplacer le \A par un joyeux \G.
Et là surprise ! La modification apportée semble être le bonne et ça m'a pris même pas 5 minutes, c'est trop fou 
LOL 
Commentaires
si maintenant t'as des floods de smileys.. je t'aurai prévenu!
je veillerai au grain
Merci.
J'avoue que je n'en dormais pas la nuit
Moqueuse
Si jamais la prise de risque est trop importante, il peut être utile d'avoir une deuxième installation vierge du blog,forum,... pour y faire des tests, c'est pas long à installer et ça prend peu de place (pour une installation basique dans la plupart des cms, il me semble)
han
:-o
han solo ?
Ou Biiiiiig Ben ... c selon :note::note:
La classe
prévisualiser ?
je suis un flasheur
,
,
tueur!!
PHPiste
Dremwevereur
Linuxeur
et
T'as oublié debianeur
ça m'a l'air super interessant tout ça
Oui c'est aussi ça opinionz
Cool !
Super, merci pour le tuyau
:D !
J'avais ce problème de smiley trés agaçant. On m'a conseillé de venir par ici pour trouver une solution.
Et voilà, en deux minutes le problème a été résolu.
Merci beaucoup d'avoir trouvé et publié la solution
Problème résolu pour moi aussi, merci beaucoup!!
En off: j'ai suivi le petit chemin à partir du forum de Dotclear!
oaed http://www.zanibook.com/event.php?e... aziz ansari kzbp
gjws http://hastaneyonetim.com/pikavipit uusi pikavippi paikka norh