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 :

capturer une chaine [RegEx]


Sujet :

Langage PHP

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Futur Membre du Club
    Inscrit en
    Juin 2008
    Messages
    4
    Détails du profil
    Informations forums :
    Inscription : Juin 2008
    Messages : 4
    Par défaut capturer une chaine
    Bonjours tout le monde,

    Je suis entrain de créer mon propre bbcode parmit les balises j'ai créer une balise code qui se présente sous cette forme: [code langage="php( par exemple)"][/code]
    dans cette balise code je voudrais capturer le nom du langage et le code pour le colorer avec une fonction de la librairie GeSHi.

    Est-ce que quelqu'un pourais me dire comment faire ?

  2. #2
    Membre Expert Avatar de Djakisback
    Profil pro
    Inscrit en
    Février 2005
    Messages
    2 023
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2005
    Messages : 2 023
    Par défaut
    Salut,
    tu peux utiliser ce pattern :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    preg_match_all('#\[ code langage="(.*)"](.*)\[/ code]#U', $str, $matches);
    en supprimant les espaces, sinon les balises code sont interprétées par le forum ^^

    Bye

  3. #3
    Futur Membre du Club
    Inscrit en
    Juin 2008
    Messages
    4
    Détails du profil
    Informations forums :
    Inscription : Juin 2008
    Messages : 4
    Par défaut
    OK merçi pour ton aide je vais essayer ça

  4. #4
    Futur Membre du Club
    Inscrit en
    Juin 2008
    Messages
    4
    Détails du profil
    Informations forums :
    Inscription : Juin 2008
    Messages : 4
    Par défaut
    J'ai essayer cette regex elle marche trés bien mais je n'arrive pas à récupérer les deux chaines dans l'array $matches.

  5. #5
    Membre Expert Avatar de Djakisback
    Profil pro
    Inscrit en
    Février 2005
    Messages
    2 023
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2005
    Messages : 2 023
    Par défaut
    $matches est un tableau multi-dimensionnel.
    Tu peux faire var_dump($matches);
    pour voir ce qu'il contient, ensuite tu peux accéder aux différentes entrées, ex :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    echo $matches[0][1];
    echo $matches[1][0];

  6. #6
    Futur Membre du Club
    Inscrit en
    Juin 2008
    Messages
    4
    Détails du profil
    Informations forums :
    Inscription : Juin 2008
    Messages : 4
    Par défaut
    Ok merçi ça sera mieu qu'avec foreach.

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

Discussions similaires

  1. Réponses: 3
    Dernier message: 27/03/2011, 21h39
  2. [AC-2003] Capturer des caractères dans une chaine string
    Par electrosat03 dans le forum VBA Access
    Réponses: 2
    Dernier message: 24/11/2010, 22h02
  3. [RegEx] capture d'un contenu d'une chaine
    Par titouille dans le forum Langage
    Réponses: 2
    Dernier message: 03/02/2010, 22h11
  4. [RegEx] Capturer une chaine sous condition
    Par Gobouz dans le forum Langage
    Réponses: 9
    Dernier message: 02/02/2010, 17h35
  5. [RegEx] Capturer liste de noms dans une chaine
    Par Rem693 dans le forum Langage
    Réponses: 1
    Dernier message: 25/10/2009, 08h13

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