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 :

HTML en Array


Sujet :

Langage PHP

  1. #1
    Membre éclairé
    Profil pro
    Inscrit en
    Mars 2003
    Messages
    242
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Mars 2003
    Messages : 242
    Par défaut HTML en Array
    Bonjour,

    Je cherche à trouver une méthode pour convertir de l'HTML en Array (php).

    Voici un exemple :

    Code html : 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
    21
    22
    23
    24
    <div class="daten1">
    	<div class="label h3">Titre1</div>
    </div>
    <div class="daten2">
    	<div class="label">Cle1</div>
    	<div class="value">info1</div>
    	</div>
    <div class="daten3">
    	<div class="label">cle2</div>
    	<div class="value">info2</div>
    </div>
     
     
    	<div class="daten4">
    		<div class="label h3">Titre2</div>
    		<div class="booleans">
    			<div class="daten5">
    				<div class="value">info3</div>
    			</div>
    			<div class="daten6">
    				<div class="value">info4</div>
    			</div>
    		</div>
    	</div>


    Resultat :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Array ('Titre1' => array('Cle1'=>'info1','Cle2'=>'info2',), 'Titre2' => 'info3,info4' )
    Est-ce que vous avez une idée ? J'aimerai éviter de passer par les expressions régulières à moins que vous ayez une idée.
    Vous en pensez quoi ?
    Je vous remercie vraiment pour votre aide
    Cordialement
    Kilian

  2. #2
    Invité
    Invité(e)
    Par défaut
    Bonjour,
    regarde de ce coté : PHP Simple HTML DOM Parser
    Un exemple ici.

  3. #3
    Expert confirmé Avatar de CosmoKnacki
    Homme Profil pro
    Justicier interdimensionnel
    Inscrit en
    Mars 2009
    Messages
    2 986
    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 986
    Par défaut
    Si ta source est toujours telle que tu la décris, tu peux aussi tenter d'utiliser XMLReader en rajoutant un élément racine:
    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
    21
    22
    23
    24
    $reader = new XMLReader;
     
    $reader->XML('<root>' . $source . '</root>');
     
    $result = array();
    while ($reader->read()) {
    	if ($reader->nodeType === XMLReader::ELEMENT && $reader->name === 'div') {
    		if (!($class = $reader->getAttribute('class'))) continue;
    		if (strpos($class, 'h3') !== false) {
    			$title = $reader->readString();
    			list($label, $sep) = array('', '');
    		} elseif (strpos($class, 'label') !== false) {
    			$label = $reader->readString();  
    		} elseif (strpos($class, 'value') !== false) {
    			if (empty($label)) {
    				@$result[$title] .= $sep . $reader->readString();
    				$sep = ',';
    			} else 
    				$result[$title][$label] = $reader->readString();
    		}
    	}
    } 
     
    print_r($result);

  4. #4
    Membre éclairé
    Profil pro
    Inscrit en
    Mars 2003
    Messages
    242
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Mars 2003
    Messages : 242
    Par défaut
    Salut tous les 2, je vais voir vos propositions en détail, mais dans tous les cas je vous remercie pour votre aide, pour le temps que vous avez passé à me répondre !

    A bientot

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

Discussions similaires

  1. Importer du HTML (arboescence) dans un Array
    Par Galdon dans le forum Langage
    Réponses: 5
    Dernier message: 13/01/2010, 19h17
  2. Récupérer 2 valeurs form HTML dans array
    Par hxjonathan dans le forum Langage
    Réponses: 12
    Dernier message: 17/10/2009, 17h11
  3. vérification champs vide dans array html
    Par knebhi dans le forum Général JavaScript
    Réponses: 9
    Dernier message: 08/07/2009, 16h08
  4. Transformer array en liste html
    Par jcaspar dans le forum Langage
    Réponses: 1
    Dernier message: 19/08/2008, 17h40
  5. Réponses: 7
    Dernier message: 21/02/2006, 17h43

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