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 :

Backslashes et regex me font de la résistance ! [RegEx]


Sujet :

Langage PHP

  1. #1
    Membre régulier
    Profil pro
    Inscrit en
    Novembre 2010
    Messages
    7
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Novembre 2010
    Messages : 7
    Par défaut Backslashes et regex me font de la résistance !
    Bonjour, pour me premier post sur le forum des pro de l'info je viens vous demandez un peu d'aide au sujet d'une regex que j'essaye de mettre en place depuis maintenant quelques jours -_-''

    Sans plus attendre voici la regex :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    $pattern = '#[\"]*[\"]+[a-z]#';
     
    $string = '\"2\";i';
     
    preg_replace($pattern, '', $string);
    Mon objectif est de récupérer uniquement le chiffre qui se trouve entre \" \" sachant que pour le i cela peut-être n'importe quelle lettre...

    Je sais pas si je me suis bien exprimé car ce n'est pas facile a faire comprendre O_o


    Merci d'avance

  2. #2
    Membre averti Avatar de johnstyle
    Homme Profil pro
    Directeur technique
    Inscrit en
    Octobre 2006
    Messages
    29
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Savoie (Rhône Alpes)

    Informations professionnelles :
    Activité : Directeur technique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Octobre 2006
    Messages : 29
    Par défaut
    Bonjour,
    essaye ceci :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    preg_replace("#^\\\\\"([^\\\"]+)\\\\\";[a-z]$#", "$1", '\"2\";i');

  3. #3
    Expert confirmé
    Avatar de Séb.
    Profil pro
    Inscrit en
    Mars 2005
    Messages
    5 322
    Détails du profil
    Informations personnelles :
    Âge : 47
    Localisation : France

    Informations professionnelles :
    Secteur : High Tech - Opérateur de télécommunications

    Informations forums :
    Inscription : Mars 2005
    Messages : 5 322
    Billets dans le blog
    17
    Par défaut
    Salut et bienvenue
    Tu dis vouloir récupérer une valeur, or je vois plutôt une tentative de suppression

    Pour résumer :
    Tu as une chaîne au format \"%NOMBRE%\";%LETTRE%
    Tu souhaites récupérer %NOMBRE%

    Le plus simple est d'utiliser sscanf( ) :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    <?php
     
    $string = '\"1234\";D' ;
    sscanf($string, '\"%d\"', $number) ;
    echo $number ; // 1234

  4. #4
    Membre régulier
    Profil pro
    Inscrit en
    Novembre 2010
    Messages
    7
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Novembre 2010
    Messages : 7
    Par défaut
    Dans le mille !!!

    Merci Séb t'assure, effectivement j'avais pas bien réfléchis à ce que je voulais faire j'y suis allé un peu vite et dans la mauvaise direction....

    En revanche je ne connaissais pas sscanf et je dois dire que c'est une fonction qui me plait assez xD


    Merci de vos réponses rapide je passe en résolu

  5. #5
    Membre Expert Avatar de Madfrix
    Profil pro
    Inscrit en
    Juin 2007
    Messages
    2 326
    Détails du profil
    Informations personnelles :
    Localisation : France, Gironde (Aquitaine)

    Informations forums :
    Inscription : Juin 2007
    Messages : 2 326
    Par défaut
    Bonjour,

    sinon (moins bien adapté) par une regex :

    Code php : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    $string = '\"1234\";D' ;
    $sortie =  preg_replace('#[^\d]#', '', $string);

    (remplacement de tous les caractères différents d'un chiffre par rien)

  6. #6
    Expert confirmé

    Profil pro
    Inscrit en
    Septembre 2010
    Messages
    7 920
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2010
    Messages : 7 920
    Par défaut
    Citation Envoyé par Madfrix Voir le message
    Bonjour,

    sinon (moins bien adapté) par une regex :

    Code php : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    $string = '\"1234\";D' ;
    $sortie =  preg_replace('#[^\d]#', '', $string);

    (remplacement de tous les caractères différents d'un chiffre par rien)
    ou direct \D

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

Discussions similaires

  1. Poster et packages font de la résistance !
    Par Egan69 dans le forum Erreurs - Avertissements
    Réponses: 3
    Dernier message: 09/01/2015, 18h33
  2. [RegEx] regex : attribut font, svp
    Par Ronin dans le forum Langage
    Réponses: 1
    Dernier message: 19/05/2010, 11h04
  3. [RegEx] attributs font, regex help ?
    Par Ronin dans le forum Langage
    Réponses: 2
    Dernier message: 19/05/2010, 11h01
  4. comment changer d'attribut de fonte dans un Tlabel?
    Par sb dans le forum Composants VCL
    Réponses: 3
    Dernier message: 21/08/2002, 16h53
  5. TextOut : comment changer de font
    Par Freakazoid dans le forum DirectX
    Réponses: 2
    Dernier message: 15/07/2002, 20h46

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