begin process at 2012 02 13 21:28:11
  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 Expressions régulières et version de PHP [ par syndrael ] Bonjour, J'ai une question sur les Rég Exp et le fait que certaines fonctions soient DEPRECATED sous PHP 5.3 Puis-je remplacer (sous PHP 5.2.x) [code= Mise en garde. [ par inwebo ] Bonjour à tous, toutes, Je viens de me déclarer en tant qu'auto entrepreneur, c'est une démarche relativement facile et rapide. Après moult vérificat


Nos sponsors


Sondage...

CalendriCode

Février 2012
LMMJVSD
  12345
6789101112
13141516171819
20212223242526
272829    

Consulter la suite du CalendriCode

Photothèque

 
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,343 sec (4)

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