#1 2011-06-07 14:03:51

mistic100
Ex Equipe Piwigo
Lyon
2008-09-27
3561

Des regex à foisons

Les regex c'est bien mais parfois on a besoin de meilleur que soit pour les écrire...

en l’occurrence il y a un bug sur SmiliesSupport : si un utilisateur met le smiley de mot clef :perplexe:, il est d'abord remplacé par l'image <img src="blablabla" alt=":perplexe"/>
mais ensuite viens la deuxième partie du script qui regarde les correspondances spéciales, dans lesquelles il y a par défaut :p    smile.png
vous voyez le problème ? la contenu du alt précédent est reparsé par la suite...

et donc je voudrais une regex qui match :p mais pas alt=":p
j'ai bricolé un peu sur http://regexpal.com/ sans rien trouver

vous me direz que je peux modifier le contenu des alt mais on ne sait jamais ce que les utilisateurs vous trouver comme configuration loufoque n'est-ce pas ? ^^

Hors ligne

 

#2 2011-06-07 18:06:31

P@t
Ex Equipe Piwigo
Nice
2007-06-13
5695

Re: Des regex à foisons

A priori, il suffit de tenir compte du guillemet double uniquement:

$pattern = '#[^"]:p#'


P@t

Hors ligne

 

#3 2011-06-07 18:49:08

mistic100
Ex Equipe Piwigo
Lyon
2008-09-27
3561

Re: Des regex à foisons

je vais essayer de reproduire les conditions (pas fait encore) mais pour regexpal cette syntaxe ne marche pas... après est-ce que le soft est complet.

ah et puis surtout ça empêche de faire un smiley qui commence par le guillemet  "

Dernière modification par mistic100 (2011-06-07 19:02:17)

Hors ligne

 

#4 2011-06-07 20:02:52

P@t
Ex Equipe Piwigo
Nice
2007-06-13
5695

Re: Des regex à foisons

Une remarque: est-ce vraiment nécessaire d'avoir le mot clé du smiley dans la balise alt?


P@t

Hors ligne

 

#5 2011-06-07 20:06:30

mistic100
Ex Equipe Piwigo
Lyon
2008-09-27
3561

Re: Des regex à foisons

pour les malvoyants...
QUOI ? les malvoyants vont rarement sur les sites de photo ?!

pour être "W3C compliant" sinon ^^

Hors ligne

 

#6 2011-06-07 21:24:16

ddtddt
Équipe Piwigo
Quetigny (21) - France
2007-07-27
16915

Re: Des regex à foisons

mistic100 a écrit:

QUOI ? les malvoyants vont rarement sur les sites de photo ?!

Je pense que tu te trompe


Vous aimez Piwigo alors n'hésitez pas à participer avec nous, plus d'infos sur la page "Contribuer à Piwigo". Si vous n'avez pas beaucoup de temps et que vous souhaitez nous soutenir vous pouvez aussi le faire par un don.

Hors ligne

 

#7 2011-06-07 21:29:39

mistic100
Ex Equipe Piwigo
Lyon
2008-09-27
3561

Re: Des regex à foisons

c'est ironique...
j'en sais rien en fait

tout ça pour dire que la propriété alt est utile

Hors ligne

 

#8 2011-06-07 21:44:25

ddtddt
Équipe Piwigo
Quetigny (21) - France
2007-07-27
16915

Re: Des regex à foisons

mistic100 a écrit:

c'est ironique...

je l'avais bien compris comme cela :-D


Vous aimez Piwigo alors n'hésitez pas à participer avec nous, plus d'infos sur la page "Contribuer à Piwigo". Si vous n'avez pas beaucoup de temps et que vous souhaitez nous soutenir vous pouvez aussi le faire par un don.

Hors ligne

 

#9 2011-06-10 20:45:15

mistic100
Ex Equipe Piwigo
Lyon
2008-09-27
3561

Re: Des regex à foisons

P@t a écrit:

A priori, il suffit de tenir compte du guillemet double uniquement:

$pattern = '#[^"]:p#'

ça marche.. presque, en effet ceci signifie "tout sauf un guillemet", seulement si le smiley est au début du commentaire, ça ne fonctionne pas, puisqu'il n'y a rien avant...

Hors ligne

 

#10 2011-06-10 20:48:56

mistic100
Ex Equipe Piwigo
Lyon
2008-09-27
3561

Re: Des regex à foisons

et si on ajoute un quantificateur '?' ou '*' on revient au cas initial

Hors ligne

 

#11 2011-06-14 19:38:15

mistic100
Ex Equipe Piwigo
Lyon
2008-09-27
3561

Re: Des regex à foisons

que match (.*?) ?

il y a ça dans BBCode Bar, j'arrive pas à saisir la différence avec (.*) à part qu'il y a un changement quand plusieurs balises du même type sont imbriqués, avec (.*?) la première balises fermante est utilisée pour la première balise ouvrante (ce qui n'est pas bon), avec (.*) la dernière balise fermante est associée à la première ouvrante (ce qu'il faut)

mais je ne comprend pas comment on en arrive là...

nb : dans tous les cas le code tel quel ne gère pas plusieurs balises du même type imbriquées, j'essaye de trouver pourquoi.

Hors ligne

 

#12 2011-06-14 19:48:20

mistic100
Ex Equipe Piwigo
Lyon
2008-09-27
3561

Re: Des regex à foisons

ok c'est ce qu'on appelle le mode "ungreedy"
voir ici http://www.skdevelopment.com/php-regula … ssions.php

Hors ligne

 

#13 2011-06-14 20:00:54

flop25
Équipe Piwigo
2006-07-06
6544

Re: Des regex à foisons

mdr
^^
nan nan continue ! je vais me faire des popcorns ! atta je reviens

voilà c'est bon continue stp

=-)

edit : pour éviter toute mauvaise interprétation c'est juste que le monologue "je pose une question je réponds" m'a fait rire.... voilà voilà

Dernière modification par flop25 (2011-06-15 16:25:46)

Hors ligne

 

#14 2011-06-15 12:13:48

P@t
Ex Equipe Piwigo
Nice
2007-06-13
5695

Re: Des regex à foisons

mistic100 a écrit:

P@t a écrit:

A priori, il suffit de tenir compte du guillemet double uniquement:

$pattern = '#[^"]:p#'

ça marche.. presque, en effet ceci signifie "tout sauf un guillemet", seulement si le smiley est au début du commentaire, ça ne fonctionne pas, puisqu'il n'y a rien avant...

Essaye un truc du genre:

Code:

$pattern = '#[\A^"]:p#';

Ou alors:

Code:

$pattern = '#(?:^|[^"]):p#';

P@t

Hors ligne

 

Pied de page des forums

Propulsé par FluxBB

github twitter newsletter Faire un don Piwigo.org © 2002-2024 · Contact