IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Langage PHP Discussion :

Les expressions rationnelles ! [RegEx]


Sujet :

Langage PHP

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Invité
    Invité(e)
    Par défaut Les expressions rationnelles !
    Bonjours à tous !

    Alors voilà j'aimerai récupérer dans un texte une partie entouré de [dia] et de [/dia] et ensuite travailler sur ce qu'il y a au milieu puis afficher le texte total !

    Ce qu'il y a entre dia et /dia ne peut pas du tout être travaillé en une seule regex alors je ne voie ps :'(

    J'ai déjà essayé avec split mais comment savoir laquelle des parties est celle entouré de dia :'(

    Merci à tous ceux qui me répondront !

  2. #2
    Membre émérite Avatar de stunti
    Inscrit en
    Mai 2006
    Messages
    520
    Détails du profil
    Informations personnelles :
    Âge : 47

    Informations forums :
    Inscription : Mai 2006
    Messages : 520
    Par défaut
    avec 2 expressions....
    une qui recupere et l'autre te permet de travailler dessus.

  3. #3
    Invité
    Invité(e)
    Par défaut
    Non

    Je voie pas comment récupérer...

    De plus le deuxième bout a besoin de beaucoup plus qu'une expression régulière

  4. #4
    Membre émérite Avatar de stunti
    Inscrit en
    Mai 2006
    Messages
    520
    Détails du profil
    Informations personnelles :
    Âge : 47

    Informations forums :
    Inscription : Mai 2006
    Messages : 520
    Par défaut
    preg_match("#[dia](.*?)[dia]#mi", $ton_texte, $match);
    tu peux utiliser un preg_match_all si tu en as plusieurs.

  5. #5
    Invité
    Invité(e)
    Par défaut
    Le problème et que à la fin je veut tout afficher dans l'order par exemple on a :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    ejrvotpdb[dia]j/r/cba1[/dia]tfyudu
    Je veut tout afficher mais avec ce qu'il y a entre [dia] et [/dia] modifié et j'ai regardé la doc preg_match ne relève que ce qui correspond à la chaîne recherché...

    Enfin c'est pas trop grave j'ai trouvé un moyen un peu dégeux :s :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    $texte="ejrvotpdb[dia]j/r/cba1[/dia]tfyudu";
     
    $tab=split("\[dia",$texte);
    foreach($tab as $elem)
    {
    	$tab2=split("\[/dia\]",$elem);
     
    	foreach($tab2 as $elem2)
    	{
    		if ($elem2[0]==']')
    		{
    			...
    		}
    		echo elem2;
    	}
    }
    Voilà comme je laisse un ] je regarde les chaines qui le possèdent et je les trasforme

  6. #6
    Membre Expert

    Homme Profil pro
    Expert PHP
    Inscrit en
    Novembre 2004
    Messages
    2 127
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Expert PHP
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Novembre 2004
    Messages : 2 127
    Par défaut
    http://fr.php.net/manual/fr/function.preg-replace.php est ton ami

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    <?php
    $string = 'TON TEXTE';
    $pattern = '#[dia](.*)[/dia]#i';
    $replacement = 'DIA$1DIA';
    echo preg_replace($pattern, $replacement, $string);
    ?>
    ca devrait faire l'affaire, tu change le $string, et DIA DIA dans replacement, dans $1 se trouve ce qui a été pris entre tes crochets DIA.

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Enfin maîtriser les Expressions Rationnelles
    Par Community Management dans le forum Général JavaScript
    Réponses: 11
    Dernier message: 15/11/2020, 17h00
  2. Les expressions régulières / rationnelles, un tuto généraliste?
    Par kayzra dans le forum Langages de programmation
    Réponses: 4
    Dernier message: 14/12/2007, 23h05
  3. Réponses: 19
    Dernier message: 03/10/2007, 10h14
  4. Bug dans les expressions régulières ?
    Par SergioF dans le forum Linux
    Réponses: 8
    Dernier message: 12/05/2004, 16h14

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo