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 une chaîne entre des < et >


Sujet :

Langage PHP

  1. #1
    Débutant  
    Homme Profil pro
    Inscrit en
    Mai 2002
    Messages
    17
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations forums :
    Inscription : Mai 2002
    Messages : 17
    Points : 14
    Points
    14
    Par défaut [Tableaux] Extraire une chaîne entre des < et >
    Bonjour,

    je lis un fichier texte qui ressemble à ceci :

    ["Theladril16"] = {
    ["max_count"] = 20,
    ["update_time"] = 1162045267,
    ["leader"] = "Theladril",
    ["max_lvl"] = 60,
    ["replacements"] = {
    },
    ["titular_count"] = 4,
    ["banned"] = {
    },
    ["players"] = {
    },
    ["sorttype"] = "Stamp",
    ["id"] = "Theladril16",
    ["offset_time"] = 22234,
    ["ev_place"] = "Zul'Gurub",
    Mon premier problème est que je n'arrive pas à traiter par " bloc " le fichier. Il n'y a pas vraiment de début ni de fin explicite dans le fichier.

    Donc j'ai pensé transformer les ["xxxx"] en <xxxx> et transformer la "," en </xxxx>

    À l'affichage mes [" sont bien transformés en <.

    J'aimerai extraire l'information qui se trouve entre les < et >.

    Je suis donc passé par un strpos mais il me sort une valeur farfeulu.

    $caract = array("[","]",chr(34));
    $caract_r = array("<",">",chr(0));

    $test = str_replace($caract,$caract_r,$line)."<br>";

    $findme = strpos($test,chr(62));
    echo $findme;
    Y a t'il un code spécial pour le caractère ? J'ai essayé également avec :
    htmlspecialchars() mais ça ne corrige pas mon problème

    Merci à vous.
    - Sometimes the Truth hurts -

  2. #2
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Octobre 2006
    Messages
    26
    Détails du profil
    Informations personnelles :
    Localisation : France, Isère (Rhône Alpes)

    Informations forums :
    Inscription : Octobre 2006
    Messages : 26
    Points : 32
    Points
    32
    Par défaut
    Salut

    Tu essais de faire une sorte de fichier de config ?
    Dans ce cas je pense que tu t'embêterais moins à parser un fichier .ini avec la fonction php http://php.net/parse_ini_file

  3. #3
    Inactif  
    Avatar de Kerod
    Profil pro
    Inscrit en
    Septembre 2004
    Messages
    11 672
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2004
    Messages : 11 672
    Points : 20 778
    Points
    20 778
    Par défaut
    Tu pourrais utiliser des expressions regulières :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    preg_match("#<(.*)>#Usi",$tachaine,$result);

  4. #4
    Membre éprouvé

    Profil pro
    Inscrit en
    Mai 2005
    Messages
    657
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2005
    Messages : 657
    Points : 910
    Points
    910
    Par défaut
    Salut,

    Si par hasard tu essayes d'exploiter un fichier de variables Lua en PHP, j'avais utilisé cette méthode dans un script :

    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
    $lua = file_get_contents("CharacterProfiler.lua");
     
    $search = array (
                     '@^(\w+) = {@m',
                     '@^}@m',
                     '@\[(.*?)] =@',
                     '@=> {@',
                     '@}@');
     
    $replace = array (
                      '$\1 = array(',
                      ');',
                      '\1 =>',
                      '=> array(',
                      ')');
     
    $php = preg_replace($search, $replace, $lua);
     
    eval($php);
    Tu peux ensuite exploiter les variables comme des tableaux associatifs classiques :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    $bank = $myProfile["Kael'thas"]["Annwyn"]["Bank"];
    foreach ($bank["Contents"] as $item)
     
    {
     
      $items[] = $item;   
     
    }

    Je te joins les fichiers complets afin que tu ais un exemple qui fonctionne (il faut renomer le .txt en .lua bien sur, developpez ne semble pas accepter l'upload de lua :s)

    Bon courage
    Fichiers attachés Fichiers attachés
    Toute la documentation Ruby on Rails : gotapi.com/rubyrails
    Mes articles :
    > HAML : langage de template pour Ruby on Rails

  5. #5
    Débutant  
    Homme Profil pro
    Inscrit en
    Mai 2002
    Messages
    17
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations forums :
    Inscription : Mai 2002
    Messages : 17
    Points : 14
    Points
    14
    Par défaut
    Super sympa !

    En tout cas, je comprend qu'on soit obligé de modifier le fichier.

    Qu'on veuille utiliser parse_ini_file ou autre il faut le modifier

    Edit :

    je cherche actuellement pour comprendre le @ que tu as mis dans ton array.

    Je comprend pas la signification
    - Sometimes the Truth hurts -

Discussions similaires

  1. Réponses: 4
    Dernier message: 27/08/2010, 04h57
  2. [Tableaux] faire une page avec des catégorie
    Par kevinf dans le forum Langage
    Réponses: 20
    Dernier message: 29/09/2006, 05h58
  3. Réponses: 2
    Dernier message: 07/09/2006, 12h17
  4. Réponses: 4
    Dernier message: 29/05/2006, 15h27

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