Besoin d'aide pour une regexp - PHP
Résolu
niahoo
Messages postés
247
Date d'inscription
Statut
Membre
Dernière intervention
-
niahoo Messages postés 247 Date d'inscription Statut Membre Dernière intervention -
niahoo Messages postés 247 Date d'inscription Statut Membre Dernière intervention -
Bonjour,
actuellement j'essaie de developper un mini moteur de templates en php.. rien de tres passionnant mais je bloque sur quelquechose :
voilà ce que je dois récupérer dans mes fichiers de template :
grâce à cette fonction :
et enfin voilà le contenu du tableau $matches :
Mon problème est que je voudrais bien récuperer .bbb et .CcC également, et de préférence sans les ".".
et si ma regexp est simplement
ça ne foncitonnera pas car je peux avoir plusieurs données du type {xxxx} dans $ligneTexte, ce qui me fait récupérer un truc du genre :
Donc, je sais que je peux recuperer $matches[0] pour le refaire passer dans une regexp pour virer les accolades et ensuite faire mon explode, etc.. (y a d'autres solutions de ce type que j'ai trouvées, mais j'aimerais que vous puissiez m'aider à la place à trouver la regexp qui me mettra dans $matches tous les éléments de mes codes entre accolades.
Et sinon, en remplacement, me permettre de récupérer le contenu d'accolades entier mais seulement cela et non pas la ligne complète entre plusieurs contenus d'accolades comme dans mon dernier code ci-dessus, et je me débrouillerai avec des explode. (et aussi pour récuperer les differentes occurences avec une autre fonciton que preg match il me semble)à
merci beaucoup
actuellement j'essaie de developper un mini moteur de templates en php.. rien de tres passionnant mais je bloque sur quelquechose :
voilà ce que je dois récupérer dans mes fichiers de template :
{AAA.bbb.CcC.DDD}
grâce à cette fonction :
elseif(preg_match( "#\{([a-zA-Z]+)(\.[a-zA-Z]+)*\}#", $ligneTexte, $matches )) {
et enfin voilà le contenu du tableau $matches :
Array ( [0] => {AAA.bbb.CcC.DDD} [1] => AAA [2] => .DDD )
Mon problème est que je voudrais bien récuperer .bbb et .CcC également, et de préférence sans les ".".
et si ma regexp est simplement
"#\{([a-zA-Z\.]+)\}#"
ça ne foncitonnera pas car je peux avoir plusieurs données du type {xxxx} dans $ligneTexte, ce qui me fait récupérer un truc du genre :
Array ( [0] => {AAA.bbb.CcC.DDD} bla bla bla bla bla bla {qzdqd.qzdqzd} .... )
Donc, je sais que je peux recuperer $matches[0] pour le refaire passer dans une regexp pour virer les accolades et ensuite faire mon explode, etc.. (y a d'autres solutions de ce type que j'ai trouvées, mais j'aimerais que vous puissiez m'aider à la place à trouver la regexp qui me mettra dans $matches tous les éléments de mes codes entre accolades.
Et sinon, en remplacement, me permettre de récupérer le contenu d'accolades entier mais seulement cela et non pas la ligne complète entre plusieurs contenus d'accolades comme dans mon dernier code ci-dessus, et je me débrouillerai avec des explode. (et aussi pour récuperer les differentes occurences avec une autre fonciton que preg match il me semble)à
merci beaucoup
A voir également:
- Besoin d'aide pour une regexp - PHP
- Easy php - Télécharger - Divers Web & Internet
- Expert php pinterest - Télécharger - Langages
- Retour a la ligne php - Forum Webmastering
- Alert php - Forum PHP
- Retour a la ligne php ✓ - Forum PHP
1 réponse
bon.. j'ai pu me trouver un élement de reponse:
avec:
cette regexp:
donne:
j'ai donc dans Array[1] mes differentes expressions à explode
je met en resolu alors
avec:
<li><a href="javascript:ajax('selmot', {ROW.motID.ccc.DdD}, \'recherches\')">{ROWZZ}</a></li>
cette regexp:
elseif(preg_match_all( "#\{([a-zA-Z\.]+)\}#", $tmpArray[$i], $matches )) {
donne:
Array ( [0] => Array ( [0] => {ROW.motID.ccc.DdD} [1] => {ROWZZ} ) [1] => Array ( [0] => ROW.motID.ccc.DdD [1] => ROWZZ ) )
j'ai donc dans Array[1] mes differentes expressions à explode
je met en resolu alors