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 :

Test d'une variable [RegEx]


Sujet :

Langage PHP

  1. #1
    Futur Membre du Club
    Profil pro
    Inscrit en
    Août 2007
    Messages
    13
    Détails du profil
    Informations personnelles :
    Âge : 39
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations forums :
    Inscription : Août 2007
    Messages : 13
    Points : 7
    Points
    7
    Par défaut Test d'une variable
    Bonjour,

    Je monte un CMS et je voudrais savoir comment faire pour tester si une expression comporte certains caractères.

    Mon cas est le suivant:

    J'ai une variable et je souhaiterais tester si elle comporte les caractères { et } (ils peuvent apparaitre plusieurs fois dans la variable) et recuperer la chaine entre ces caracteres.

    Merci d'avance

  2. #2
    Membre régulier
    Inscrit en
    Mai 2002
    Messages
    101
    Détails du profil
    Informations personnelles :
    Âge : 44

    Informations forums :
    Inscription : Mai 2002
    Messages : 101
    Points : 118
    Points
    118
    Par défaut
    Hello,

    en combinant des appels à strpos (http://ch2.php.net/manual/fr/function.strpos.php) pour trouver tes caractères { et } avec substr (http://ch2.php.net/manual/fr/function.substr.php), tu devrais y arriver dans trop de problème

  3. #3
    Membre éclairé Avatar de Korko Fain
    Profil pro
    Étudiant
    Inscrit en
    Août 2005
    Messages
    632
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Août 2005
    Messages : 632
    Points : 718
    Points
    718
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    if( preg_match_all('#{([^}]*)}#', $code, $matches) )
    Tes contenus sont dans $matches[1]

  4. #4
    Futur Membre du Club
    Profil pro
    Inscrit en
    Août 2007
    Messages
    13
    Détails du profil
    Informations personnelles :
    Âge : 39
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations forums :
    Inscription : Août 2007
    Messages : 13
    Points : 7
    Points
    7
    Par défaut
    Merci à vous deux j'avoue que je vais choisir la solution de facilité et que je vais essayer la deuxième solution.

    Je vous tiens au courant.

  5. #5
    Membre éclairé Avatar de Korko Fain
    Profil pro
    Étudiant
    Inscrit en
    Août 2005
    Messages
    632
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Août 2005
    Messages : 632
    Points : 718
    Points
    718
    Par défaut
    Elle est plus simple mais pas forcement plus rapide faudrait essayer

  6. #6
    Futur Membre du Club
    Profil pro
    Inscrit en
    Août 2007
    Messages
    13
    Détails du profil
    Informations personnelles :
    Âge : 39
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations forums :
    Inscription : Août 2007
    Messages : 13
    Points : 7
    Points
    7
    Par défaut
    Bon c'est bon je m'en suis sorti avec strpos et substr.

    Voila mon code si besoin est:

    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
    17
     
    $tagdeb='{';
    $posdeb=strpos($contenu_page, $tagdeb);
    $tagfin='}';
    $posfin=strpos($contenu_page, $tagfin);
    if (($posdeb == false)&&($posfin == false)) echo $contenu_page;
    else
    {
    	echo substr($contenu_page, 0, $posdeb);
    	$long=$posfin-($posdeb+1);
    	$tag=substr($contenu_page, $posdeb+1, $long);
    	$sql3="SELECT ".$table_tag_utilisateur.".code_tag FROM ".$table_tag_utilisateur." WHERE ".$table_tag_utilisateur.".nom_tag='".$tag."' AND ".$table_tag_utilisateur.".id_site=".$_SESSION['idsite'].";";
    	$result3=mysql_query($sql3);
    	while ($ligne3 = mysql_fetch_array($result3)) { $code_tag=$ligne3[0]; }
    	echo "<?php ".$code_tag." ?>";
    	echo substr($contenu_page, $posfin+1);
    }
    Ps: L'inconvenient de ce code c'est qu'il repère qu'une fois les { et }.
    J'ai la flemme de dévelloper une fonction

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

Discussions similaires

  1. [Tableaux] Problème de test sur une variable
    Par Laurent64 dans le forum Langage
    Réponses: 7
    Dernier message: 20/05/2007, 15h04
  2. faire un test sur une variable
    Par donny dans le forum Langage
    Réponses: 3
    Dernier message: 04/12/2006, 16h55
  3. [langage] probleme sur test d'une variable
    Par Melvine dans le forum Langage
    Réponses: 11
    Dernier message: 25/10/2006, 20h31
  4. [Mail] Construire un test avec une variable
    Par jeromesco dans le forum Langage
    Réponses: 3
    Dernier message: 17/02/2006, 22h52
  5. [xsl] Test avec une variable ?
    Par maxonman dans le forum XSL/XSLT/XPATH
    Réponses: 8
    Dernier message: 24/01/2006, 11h47

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