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 :

Optimisation avec reg_split [RegEx]


Sujet :

Langage PHP

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Profil pro
    Inscrit en
    Avril 2009
    Messages
    137
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Avril 2009
    Messages : 137
    Par défaut Optimisation avec reg_split
    Bonjour,

    voilà je fais passer une informations d'une page à une autre en la combinant et j'aimerais la séparer:

    l'information est du type m = menu et sm = sous-menu et à cela s'ajoute l'id (autoincrément). Donc au final on a soit mx ou smx x= un nombre inclus dans smallint. exemple m3 / sm23 / m1234 / sm18267 ...

    Pour séparer voici mon code.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
    	$test = preg_split('#^[a-z]{1,}#i', $_POST['menuracine']);
    	print_r($test);
    	$test1 = preg_split('#[0-9]{1,}$#i', $_POST['menuracine']);
    	print_r($test1);
    l'information est transmise au travers d'un formulaire ($_POST['menuracine']) en prenant pour exemple m3 le code retournera :
    Array ( [0] => [1] => 3 ) Array ( [0] => m [1] => ).

    il ne me reste plus qu'à récupérer les valeurs de l'array.

    Cependant j'aurais voulu savoir si qqun avait une solution avec une seule commande plutôt que deux ? merci

  2. #2
    Membre Expert
    Avatar de Eric2a
    Homme Profil pro
    Technicien
    Inscrit en
    Septembre 2005
    Messages
    1 225
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 55
    Localisation : France, Corse (Corse)

    Informations professionnelles :
    Activité : Technicien

    Informations forums :
    Inscription : Septembre 2005
    Messages : 1 225
    Par défaut
    Salut,

    À l'aide de preg_match_all
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    preg_match_all('/^([a-z]+)([0-9]+)$/i', $_POST['menuracine'], $res, PREG_PATTERN_ORDER);	
    print_r($res);
    Nous obtenons pour 's123' par exemple
    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
    18
    Array
    (
        [0] => Array
            (
                [0] => s123
            )
     
        [1] => Array
            (
                [0] => s
            )
     
        [2] => Array
            (
                [0] => 123
            )
     
    )

  3. #3
    Membre confirmé
    Profil pro
    Inscrit en
    Avril 2009
    Messages
    137
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Avril 2009
    Messages : 137
    Par défaut merci
    Bonjour monsieur eric2a, merci cette réponse me satisfait pleinement

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

Discussions similaires

  1. optimisation avec vue dynamique
    Par ljoly dans le forum Oracle
    Réponses: 18
    Dernier message: 28/08/2006, 12h07
  2. Optimisation avec des hints
    Par lenoil dans le forum Oracle
    Réponses: 3
    Dernier message: 22/08/2006, 12h54
  3. [VBA/SQL] optimisation avec un recordset?
    Par herendel dans le forum Access
    Réponses: 1
    Dernier message: 28/04/2006, 20h20
  4. Réponses: 9
    Dernier message: 27/04/2006, 16h02
  5. Optimisation avec le cull facing
    Par jcloupgarou dans le forum OpenGL
    Réponses: 4
    Dernier message: 25/04/2006, 15h52

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