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 :

Je cherche une fonction comme substr


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
    Novembre 2008
    Messages
    90
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2008
    Messages : 90
    Par défaut Je cherche une fonction comme substr
    Bonjour à tous !

    J'aimerais trouver une fonction comme substr mais qui ne coupe pas les mots à partir d'un nombre de caractères, mais à partir d'un caractère précis. Je vais expliquer mieux que ça.

    Prenons ce texte : 22-la-sncf-augmente-ses-tarifs

    En fait j'aimerais couper ce texte comme ça : la-sncf-augmente-ses-tarifs

    Là on va me dire : il suffit de faire

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    <? php 
    substr($texte, 3)
    ?>
    Maintenant si je pose le texte comme ça : 137-la-sncf-augmente-ses-tarifs

    Le soucis c'est que ça donnera : -la-sncf-augmente-ses-tarifs

    Donc ce que je souhaite, c'est trouver un moyen de demander à une fonction de chercher le premier caractère "-" et de dire "je veux supprimer ce tiret et tout ce qu'il y a avant".

    Est-ce que vous aurez une idée de comment faire ?

    Merci d'avance !

  2. #2
    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
    regarde du coté de sscanf

  3. #3
    Membre confirmé
    Profil pro
    Inscrit en
    Novembre 2008
    Messages
    90
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2008
    Messages : 90
    Par défaut
    Merci pour la proposition !

    Mais malheureusement, je ne trouve quasiment rien sur cette fonction et du peu que j'ai réussi à voir ne m'aide pas plus que ça...

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    <?php
    // Lecture d'un numéro de série
    list($serial) = sscanf("SN/2350001", "SN/%d");
    // et la date de fabrication
    $mandate = "January 01 2000";
    list($month, $day, $year) = sscanf($mandate, "%s %d %d");
    echo "Le produit $serial a été fabriqué le : $year-" . substr($month, 0, 3) . "-$day\n";
    ?>
    OU

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    <?php
    // lit les informations d'auteur, et génère une entrée DocBook
    $auth = "24\tLewis Carroll";
    $n = sscanf($auth, "%d\t%s %s", $id, $first, $last);
    echo "<author id='$id'>
        <firstname>$first</firstname>
        <surname>$last</surname>
    </author>\n";
    ?>
    Je n'arrive pas à voir un rapport avec ce que je demande... Et y a pas grand chose sur cette fonction sur le net...

    EDIT : Eric2a -> Ah... Je vais essayer ça, merci ^^

  4. #4
    Membre confirmé
    Profil pro
    Inscrit en
    Novembre 2008
    Messages
    90
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2008
    Messages : 90
    Par défaut
    Oh c'est nickel Eric2a ! Je vais essayer d'analyser ta fonction pour mieux la comprendre ^^ Merci !

  5. #5
    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 Romanodi13 Voir le message
    Je n'arrive pas à voir un rapport avec ce que je demande... Et y a pas grand chose sur cette fonction sur le net...
    c'est une fonction hyper simple

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    $str = '22-la-sncf-augmente-ses-tarifs';
    sscanf($str, '%d-%s', $id, $name);
    var_dump($id, $name);
     
    /*
    int(22)
    string(27) "la-sncf-augmente-ses-tarifs"
    */

  6. #6
    Membre averti
    Inscrit en
    Février 2007
    Messages
    18
    Détails du profil
    Informations forums :
    Inscription : Février 2007
    Messages : 18
    Par défaut
    Il peut parfois être utile d'exploiter le paramètre limit de la fonction explode...

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    list($id, $nom) = explode('-', '22-la-sncf-augmente-ses-tarifs',2);

  7. #7
    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,

    On peut aussi ce servir de la fonction strstr.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    substr( strstr($txt, '-') , 1)

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

Discussions similaires

  1. Réponses: 1
    Dernier message: 16/06/2007, 21h44
  2. Cherche une fonction standard.
    Par saih_tam dans le forum C
    Réponses: 25
    Dernier message: 24/05/2006, 17h20
  3. [VB6]Une fonction comme Trim(), mais pour les "-"
    Par Jihnn dans le forum VB 6 et antérieur
    Réponses: 13
    Dernier message: 13/04/2006, 19h43
  4. cherche une fonction qui permet de faire une recherche
    Par vbcasimir dans le forum Langage
    Réponses: 7
    Dernier message: 01/09/2005, 17h24
  5. Passer une fonction comme argument à une fonction
    Par Cocotier974 dans le forum Général Python
    Réponses: 4
    Dernier message: 29/06/2004, 13h41

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