begin process at 2010 02 09 22:39:54
  Trouver un code source :
 
dans
 
Accueil > Forum > 

PHP

 > 

Divers

 > 

Divers

 > 

Expressions Régulières


Derniers messages déposésPoser une question dans le forum ou lancer une discussion

Expressions Régulières

vendredi 27 avril 2007 à 12:44:38 | Expressions Régulières

neurosupherot

Bonjour, il s'agirait de s'ammuser avec les expressions régulières

j'ai un petit souci.
j'ai fait mon propre bbcode, et tout semble fonctionner, sauf:

lorsque je mets un truc comme

[color=#FF0000]ezrezr[color=#00FF00]ffzezzef[/color]fsf[/color]

au lieu de me mettre ezrezrffzezzeffsf, il me met: ezrezr[color=#00FF00]ffzezzeffsf[/color].

la raison est simple, j'utitilise le masque '/\[color=#[0-9A-F]){6}\](.*)\[\/color\]/'.
en effet, il va entourer avec les balises de couleur tout ce qu'il y a entre la balise bb ouvrante et la balise bb fermante.

ma question est: comment peut on faire pour qu'il fasse une détection "récursive", c'est à dire que s'il trouve un autre color ouvrant à l'intérieur du premier et il cherche le fermant correspondant.

en gros, un <span>texterouge<span>textevert</span>texterouge</span>

on m'a compris?

merci!
jeudi 9 août 2007 à 23:54:19 | Re : Expressions Régulières

neurosupherot

Réponse acceptée !


Pour ceux que ça intéresse, j'ai trouvé la solution à ma question.

j'ai trouvé deux methodes efficaces.
soit une que j'ai bricolé avec un preg_match_all::

$regex = '@\[color=#[0-9A-F]){6}\]((?:[^[]|\[(?!(color=#[0-9A-F]){6}|color)])|(?R))+)[/color]@';
      $HasMatches=preg_match_all($regex,$Str,$Matches,PREG_OFFSET_CAPTURE|PREG_SET_ORDER);
        while($HasMatches)
        {
            ............... ..................$HasMatches=preg_match_all($regex,$TotalStr,$this->PregMatches,PREG_OFFSET_CAPTURE|PREG_SET_ORDER);
        }


soit une autre avec preg_replace_callback, que j'ai trouvé sur php.net voir preg_replace_callback , mais l'expression rationnelle est légèrement !=


Cette discussion est classée dans : expressions, color, régulières, ezrezr, 00ff00


Répondre à ce message

Sujets en rapport avec ce message

Les expressions régulières et les le, la les ... [ par osscour ] Salut, je voudrais supprimer les déterminants issus d'une requette avant de l'éxécuter dans un mini moteur de recherche ex : j'ai cette requête : " l Expressions régulières pour la suppression de balises [ par f6xara ] J'ai fait un module de template transformant tout ce qui se trouve entre {} par la variable équivalente.Si la variable n'est pas trouvées, alors, on s Expressions régulières [ par martins13 ] Salut à tous!!!Je cherche à faire une expression régulière pour une adresse postale du type :13, Boulevard BailleMais je veux que les caractères accen Expressions régulères Help ! [ par rem693 ] Bonjour à tous, Comme vous pouvez le voir je suis nouveau sur le forum car j'ai besoin d'aide, je m'explique. Je dispose d'une variable qui contient u Expressions régulières.. [ par syndrael ] Bonjour, J'ai un texte dans lequel je retrouve des balises . Je tourne en rond pour écrire un reg_replace qui me les supprime toutes.. alors ke c'est Expressions régulières, exclure le contenu entre certaines balises [ par f6xara ] Bonjour, j'ai fais un system de template pour mon site. Lors de l'affichage je fais un nl2br($texte) pour faire les sauts de lignes. Mais dans ma vari Expressions régulières [ par darkduck ] Salut,J'aimerai virer les - entre chevrons grace à une expression régulière.Je m'explique :-texte>test-test-texte>-joli-texte>y-a-t-il quelqu'un-</b Précision sur les Expressions régulières [ par hvb ] Salut tout le monde,je viens de decouvrir, après tout ce temps, la puissance des expressions régulières PCRE.J'ai encaissé deux ou trois tutos sans gr pb affichage site [ par sbool ] Bonjour tout le monde, c'est la première fois que je vois ca:Je travaille en 1200 * 1024 et lorsque je teste mon site dans une resolution inférieure, probleme formulaire [ par montana75013 ] bonjour,j'ai cree un formulaire et je voullais cree un lien du formulaire "envoyer" a ma table "membre" dans base de donne voilla mon script<!DOCTYPE


Nos sponsors


Sondage...

Comparez les prix

CalendriCode

Février 2010
LMMJVSD
1234567
891011121314
15161718192021
22232425262728

Consulter la suite du CalendriCode

 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils.
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 0,484 sec (4)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales