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 :

Comment extraire une partie du texte


Sujet :

Langage PHP

  1. #1
    Débutant  
    Profil pro
    Inscrit en
    Mai 2005
    Messages
    3 102
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Mai 2005
    Messages : 3 102
    Points : 953
    Points
    953
    Par défaut Comment extraire une partie du texte
    Bonjour,
    Je cherche à savoir comment je pourrais extraire les mots qui se trouve devait les premières []

    Voici les textes source:

    [Salon][SA MultiSensor6][Température]
    [Papa][SA MultiSensor6][Température]
    [Mathilde][SA MultiSensor6][Température]

    J'aimerais donc soir extraire

    Salon, Papa ou Mathilde sans le []

    Je pensais le faire avec strpos et substr, mais je n'y arrive pas

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    substr($val,1,strpos($val, ']')-1):
    Avec ce code, j'ai 'Se'

    Merciii

  2. #2
    Débutant  
    Profil pro
    Inscrit en
    Mai 2005
    Messages
    3 102
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Mai 2005
    Messages : 3 102
    Points : 953
    Points
    953
    Par défaut
    En fait, je crois que ça marche bien....

  3. #3
    Expert éminent sénior
    Avatar de ProgElecT
    Homme Profil pro
    Retraité
    Inscrit en
    Décembre 2004
    Messages
    6 112
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 68
    Localisation : France, Haute Savoie (Rhône Alpes)

    Informations professionnelles :
    Activité : Retraité
    Secteur : Communication - Médias

    Informations forums :
    Inscription : Décembre 2004
    Messages : 6 112
    Points : 16 646
    Points
    16 646
    Par défaut
    Salut
    Une autre possibilité
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    <?php
    $phrase = "[Salon][SA MultiSensor6][Température]";
    $recupe = preg_split("/[\s\[\]]+/", $phrase);
    echo($recupe[1]."<br>");
     
    $phrase = "[Papa][SA MultiSensor6][Température]";
    $recupe = (preg_split("/[\s\[\]]+/", $phrase))[1];
    echo($recupe."<br>");
     
    $phrase = "[Mathilde][SA MultiSensor6][Température]";
    echo(preg_split("/[\s\[\]]+/", $phrase))[1];
    ?>

    Modif de l’édit:

    Complément, si tu as besoin de récupérer l'un des 3 mots entre [...]
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    <?php
     
    $phrase = "[Papa][SA MultiSensor6][Température]";
    $recupe = preg_split("/[\[\]]+/", $phrase);
    echo($recupe[1]."<br>"); // <-- Papa
     
    $phrase = "[Salon][SA MultiSensor6][Température]";
    $recupe = (preg_split("/[\[\]]+/", $phrase))[2];
    echo($recupe."<br>"); // <-- SA MultiSensor6
     
    $phrase = "[Mathilde][SA MultiSensor6][Température]";
    echo(preg_split("/[\[\]]+/", $phrase))[3]; // <-- Température
     
    ?>

  4. #4
    Invité
    Invité(e)
    Par défaut
    Bonjour,

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    <?php
    // ------------
    function get_mots_arr( $chaine )
    {
    	$mots_arr = explode('][', trim($chaine,'[]'));
    	return $mots_arr;
    }
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
     
    // ------------
    $chaine = '[Salon][SA MultiSensor6][Température]';
    echo get_mots_arr( $chaine )[0].'<br/>';
     
    $chaine = '[Papa][SA MultiSensor6][Température]';
    echo get_mots_arr( $chaine )[0].'<br/>';
     
    $chaine = '[Mathilde][SA MultiSensor6][Température]';
    echo get_mots_arr( $chaine )[0].'<br/>';
    // ------------
    ?>
    Donne :
    Dernière modification par Invité ; 26/01/2020 à 11h44.

  5. #5
    Expert éminent Avatar de CosmoKnacki
    Homme Profil pro
    Justicier interdimensionnel
    Inscrit en
    Mars 2009
    Messages
    2 912
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Charente Maritime (Poitou Charente)

    Informations professionnelles :
    Activité : Justicier interdimensionnel

    Informations forums :
    Inscription : Mars 2009
    Messages : 2 912
    Points : 6 705
    Points
    6 705
    Par défaut
    Avec une chaîne formatée dans laquelle le placeholder exclu le crochet fermant:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    $val='[Salon][SA MultiSensor6][Température]';
     
    sscanf($val, '[%[^]]]', $res);
    echo $res; // Salon

Discussions similaires

  1. Réponses: 13
    Dernier message: 23/09/2013, 05h21
  2. Comment definir une partie deu texte de mon champs en gras
    Par pierrot10 dans le forum SQL Procédural
    Réponses: 2
    Dernier message: 30/08/2006, 11h41
  3. Réponses: 7
    Dernier message: 18/07/2006, 15h56
  4. Réponses: 2
    Dernier message: 21/05/2006, 20h31
  5. comment remplacer une partie de texte dans un champs
    Par patlapi dans le forum Paradox
    Réponses: 4
    Dernier message: 20/11/2003, 15h38

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