JeuWeb - Crée ton jeu par navigateur

Version complète : [PHP] regex parenthèse capturantes
Vous consultez actuellement la version basse qualité d’un document. Voir la version complète avec le bon formatage.
Pages : 1 2
bonjour

j'ai un petit problème de regex, je suis pas bien balaise en regex, pourriez-vous m'aider svp?

il s'agit de parser du bbcode, voici le bbcode en question:

Code :
[img alt='texte' width='100' height='100']

pour récupérer le alt je fais ceci (qui ne marche pas...):


$alt = preg_replace('#\[img alt=\'(.*)\'\](.*)\[/img\]#i', '$1', $string , 1);

le problème c'est que la 1ere parenthèse capturante (.*) me capture texte' width='100' height='100 au lieu de texte

un petit coup de pouce svp?

merci bonne journée
"parenthèse"
([^'"]*)
salut merci de ton aide, j'ai du mal à insérer ([^'"]*) dans ma regex. La regex entière cela donnerais quoi stp? désolé :$
$alt = preg_replace('#\[img alt=\'([^'"]*)\'\](.*)\[/img\]#i', '$1', $string , 1);
Mais tu ne laisses pas la possibilité de la présence des autres attributs là, si ?
C'est plutôt didactique ou à usage réel ? Car si c'est pour une utilisation réelle, autant utiliser une solution open source : ce sera plus robuste et fiable.
En effet : \[img.*?alt='(.*?)'.*?\]
Bon merci à vous tous!

voici ma regex:

Code :
$string = '[img alt='blabla' autre='blabla'][/img]';

$alt= preg_replace('#\[img(.*)alt=\'(.*)\'(.*)\](.*)\[/img\]#isU', '$2', $string);

merci Oxman, puis je te demander à quoi sert les ? dans ton exemple, j'ai beau eu lire la doc je ne suis pas certain, d'ailleurs il semblent ne pas être utiles dans cet exemple non ?

Sephi, quelles sont les sources open source auxquelles tu penses?
En cherchant GitHub PHP BBCode et PHP BBCode parser j'ai trouvé plusieurs projets.
  • BBCode parser par wookieb. C'est pas documenté (enfin si, mais en Polonnais…) mais il suffit de lire les tests. Ça a l'air tenu à jour.
  • PHP Bulletin Board Code (extension PECL).
  • NBBC, qui n'a plus l'air maintenu mais qui doit bien fonctionner puisqu'il a une suite de tests et qu'il est bien documenté.

Dans tous les cas, tu es gagnant.
Bien que j'arrive en retard, je me permet de partager cette ressource qui pourra t'être utile :

http://www.gethifi.com/tools/regex

Tu clique sur le texte, tu mets ton text, et tu fabrique ta regex. J'trouve ça trop génial Wink
Personnellement, j'ai débuté en regex avec ça et je continue d'apprendre Smile
Pages : 1 2