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 :

[Tableaux] Extraire valeur d'une chaine de caractere


Sujet :

Langage PHP

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éclairé Avatar de Shandler
    Profil pro
    Inscrit en
    Février 2005
    Messages
    514
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2005
    Messages : 514
    Par défaut [Tableaux] Extraire valeur d'une chaine de caractere
    Bonjour,

    Voila j'ai cette chaine : [link=42]fsdfsdgsdhgsdhs[/link]

    J'arrive pas a récupérer juste la valeur 42 et la mettre dans un tableau car jai plusieurs chaine avec cette syntaxe et avec des valeurs differente et donc toute c'est valeur j'aimerais pouvoir les mettre dans un tableau.

    Merci a vous.

  2. #2
    Membre averti
    Profil pro
    Inscrit en
    Août 2004
    Messages
    40
    Détails du profil
    Informations personnelles :
    Âge : 52
    Localisation : France, Aube (Champagne Ardenne)

    Informations forums :
    Inscription : Août 2004
    Messages : 40
    Par défaut
    Bonjour Shandler,

    je pense que tu peux utiliser strpos() en détectant le signe égal si il n'est pas également inclus dans ton lien.. Et puis pour le premier crochet fermant ']' pour ta valeur...

    Egalement strlen() pour être sûr de sa longueur et substr() pour démarrer de la gauche après '[link='

    Bye,
    MiChAëL


  3. #3
    Membre éclairé Avatar de tibotibo69
    Profil pro
    Développeur Web
    Inscrit en
    Février 2008
    Messages
    268
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Février 2008
    Messages : 268
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
     
    <?php
    $chaine = "[link=42]fsdfsdgsdhgsdhs[/link]";
    $carac1 ="=";
    $carac2 = "]";
     $pos_carac1 = strpos($chaine,$carac1 );//te renvoie la premiere occurence de "="
     $pos_carac2 = strpos($chaine, $carac2);//pareil pour "]"
     $i = $pos_carac2 - $pos_carac1;//calcul du nombre de caracteres entre ces deux caractères
     $resultat = substr($chaine, $pos_carac1, $i); //substring de la partie qu'il te faut
    ?>
    essaye ça

  4. #4
    Membre éclairé Avatar de Shandler
    Profil pro
    Inscrit en
    Février 2005
    Messages
    514
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2005
    Messages : 514
    Par défaut
    je suis d'accord sur le principe mais si ma chaine est comme ceci :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    $chaine = "[link=42]fsdfsdgsdhgsdhs[/link][link=12]fgdfhdh[/link]";
    Comment récupérer les 2 valeurs ?

    merci a toi

  5. #5
    Membre éclairé Avatar de tibotibo69
    Profil pro
    Développeur Web
    Inscrit en
    Février 2008
    Messages
    268
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Février 2008
    Messages : 268
    Par défaut
    tu ne peux pas mettre chaque [link] frfrf [/link] dans un tableau ? ça serait plus simple à récupérer de cette manière.

  6. #6
    Membre éclairé Avatar de Shandler
    Profil pro
    Inscrit en
    Février 2005
    Messages
    514
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2005
    Messages : 514
    Par défaut
    Non j'ai pas la mains sur les données qui m'arrive.

    Merci de ton aide.

  7. #7
    Membre chevronné Avatar de SphynXz
    Développeur Web
    Inscrit en
    Mars 2008
    Messages
    439
    Détails du profil
    Informations personnelles :
    Âge : 39

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Mars 2008
    Messages : 439
    Par défaut
    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
    19
    20
     
    <?
    echo "<pre>";
    $chaine = "[link=42]fsdfsdgsdhgsdhs[/link][link=12]fgdfhdh[/link][link=4448]salut ca va?[/link][link=654]salut!!!!!!![/link][link=ok]bah ca marche pas?[/link]";
    echo "chaine : $chaine<br />";
    $machaine = explode('[link=',$chaine);
    $max = count($machaine);
    for($i=1;$i<$max;$i++):
     
    $machaine_2 = explode(']',$machaine[$i]);
    if(is_numeric($machaine_2[0]))
    $resultat[$i-1] = $machaine_2[0];
     
    endfor;
     
     
     
    print_r($resultat);
    echo "</pre>";
    ?>

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

Discussions similaires

  1. ressortir des valeurs d'une chaine de caracteres
    Par titeuf92 dans le forum Shell et commandes GNU
    Réponses: 1
    Dernier message: 20/11/2009, 15h13
  2. [RegEx] Récupération de valeurs dans une chaine de caractères
    Par Seth77 dans le forum Langage
    Réponses: 1
    Dernier message: 09/08/2007, 09h39
  3. Extraire une valeur entiere d'une chaine de caractere
    Par Aloneghost dans le forum Débuter
    Réponses: 2
    Dernier message: 25/04/2006, 12h23
  4. Extraire du numerique dans une chaine de caractere
    Par jane2002 dans le forum Access
    Réponses: 4
    Dernier message: 08/03/2006, 12h33
  5. Extraire un nom d'une chaine de caractere
    Par iamspacy dans le forum Linux
    Réponses: 4
    Dernier message: 03/05/2004, 21h34

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