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] Obtenir les champs d'une page web


Sujet :

Langage PHP

  1. #1
    Membre habitué

    Homme Profil pro
    Developpeur web
    Inscrit en
    Septembre 2006
    Messages
    225
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 34
    Localisation : Belgique

    Informations professionnelles :
    Activité : Developpeur web
    Secteur : Enseignement

    Informations forums :
    Inscription : Septembre 2006
    Messages : 225
    Points : 180
    Points
    180
    Par défaut [Tableaux] Obtenir les champs d'une page web
    Bonjour tout le monde, j'aurais voulu savoir comment obtenir les champs html d'une page web dans le but de pouvoir simuler un envoi par le script php..

    Je sais récupérer le code html avec file_get_contents() mais je ne sais pas comment utiliser php pour classer les différentes forms (dans un tableau) avec leurs champs..

    Merci

  2. #2
    Rédacteur
    Avatar de Yoshio
    Homme Profil pro
    Inscrit en
    Septembre 2005
    Messages
    1 732
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 36
    Localisation : Belgique

    Informations forums :
    Inscription : Septembre 2005
    Messages : 1 732
    Points : 2 853
    Points
    2 853
    Par défaut
    Pourquoi tu veux faire ca ?

  3. #3
    Membre habitué

    Homme Profil pro
    Developpeur web
    Inscrit en
    Septembre 2006
    Messages
    225
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 34
    Localisation : Belgique

    Informations professionnelles :
    Activité : Developpeur web
    Secteur : Enseignement

    Informations forums :
    Inscription : Septembre 2006
    Messages : 225
    Points : 180
    Points
    180
    Par défaut
    Référencement automatique...

  4. #4
    Membre du Club
    Inscrit en
    Juin 2002
    Messages
    44
    Détails du profil
    Informations forums :
    Inscription : Juin 2002
    Messages : 44
    Points : 55
    Points
    55
    Par défaut
    La fonction si dessous permet de trasformer ou parser HTML en un tableau associatif
    Pour tester:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
    $content = file_get_contents("http://monsiteweb/mon formulaire");
    $tag = parseHtml($content);
     
    //par exemple pour Afficher les tags INPUT
    print_r($tag['INPUT'];
    La fonction parseHtml est ci dessous:
    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
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
     
    <?php
    /*
    * parseHtml.php
    * Author: Carlos Costa Jordao
    * Email: carlosjordao@yahoo.com
    *
    * My notation of variables:
    * i_ = integer, ex: i_count
    * a_ = array, a_html
    * b_ = boolean,
    * s_ = string
    *
    * What it does:
    * - parses a html string and get the tags
    * - exceptions: html tags like <br> <hr> </a>, etc
    * - At the end, the array will look like this:
    * ["IMG"][0]["SRC"] = "xxx"
    * ["IMG"][1]["SRC"] = "xxx"
    * ["IMG"][1]["ALT"] = "xxx"
    * ["A"][0]["HREF"] = "xxx"
    *
    */
    function parseHtml( $s_str )
    {
    	$i_indicatorL = 0;
    	$i_indicatorR = 0;
    	$s_tagOption = "";
    	$i_arrayCounter = 0;
    	$a_html = array();
     
    	// Search for a tag in string
    	while( is_int(($i_indicatorL=strpos($s_str,"<",$i_indicatorR))) ) {
    		// Get everything into tag...
    		$i_indicatorL++;
    		$i_indicatorR = strpos($s_str,">", $i_indicatorL);
    		$s_temp = substr($s_str, $i_indicatorL, ($i_indicatorR-$i_indicatorL) );
    		$a_tag = explode( ' ', $s_temp );
    		// Here we get the tag's name
    		list( ,$s_tagName,, ) = each($a_tag);
    		$s_tagName = strtoupper($s_tagName);
    		// Well, I am not interesting in <br>, </font> or anything else like that...
    		// So, this is false for tags without options.
    		$b_boolOptions = is_array(($s_tagOption=each($a_tag))) && $s_tagOption[1];
    		if( $b_boolOptions ) {
    			// Without this, we will mess up the array
    			$i_arrayCounter = (int)count($a_html[$s_tagName]);
    			// get the tag options, like src="htt://". Here, s_tagTokOption is 'src' and s_tagTokValue is '"http://"'
    			do {
    				$s_tagTokOption = strtoupper(strtok($s_tagOption[1], "="));
    				$s_tagTokValue = trim(strtok("="));
    				$a_html[$s_tagName][$i_arrayCounter][$s_tagTokOption] =
    				$s_tagTokValue;
    				$b_boolOptions = is_array(($s_tagOption=each($a_tag))) &&
    				$s_tagOption[1];
    			} while( $b_boolOptions );
    		}
    	}
    	return $a_html;
    }
    ?>
    Si votre formulaire respecte le standard XHTML, vous pouvez utiliser SimpleXML pour parser vos fichiers.
    Merci
    Have Fun !!!
    Fincom

  5. #5
    Membre habitué

    Homme Profil pro
    Developpeur web
    Inscrit en
    Septembre 2006
    Messages
    225
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 34
    Localisation : Belgique

    Informations professionnelles :
    Activité : Developpeur web
    Secteur : Enseignement

    Informations forums :
    Inscription : Septembre 2006
    Messages : 225
    Points : 180
    Points
    180
    Par défaut
    Merci Je peux te demander ou tu as trouver cette fonction ?

  6. #6
    Membre du Club
    Inscrit en
    Juin 2002
    Messages
    44
    Détails du profil
    Informations forums :
    Inscription : Juin 2002
    Messages : 44
    Points : 55
    Points
    55
    Par défaut
    Tout sauf dans mon grenier, plus sérieusement dans les archives du site web:hweberdev.com

    Comme je l'ai précisé auparavant, ce n'est qu'une solution parmi d'autres.
    Merci
    Have Fun !!!
    Fincom

Discussions similaires

  1. Comment enregistrer les images d'une page web ?
    Par Chris33 dans le forum Réseau/Web
    Réponses: 1
    Dernier message: 11/07/2006, 22h09
  2. [debutant] lister tout les mots d'une page web!
    Par kriskikout dans le forum Web
    Réponses: 20
    Dernier message: 31/05/2006, 22h47
  3. Verrouillage de tous les champs d'une page
    Par linou dans le forum Général JavaScript
    Réponses: 10
    Dernier message: 12/01/2006, 17h31
  4. Site qui vérifie les actualisations d'une page web
    Par LFC dans le forum Autres langages pour le Web
    Réponses: 4
    Dernier message: 01/12/2005, 18h47
  5. Obtenir des infos sur une page web en ligne
    Par Logan_Cale dans le forum Web & réseau
    Réponses: 1
    Dernier message: 20/08/2005, 15h36

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