Tri d'une page HTML - PHP
Résolu/Fermé
Chester0101
-
12 avril 2011 à 09:17
Gremy87 Messages postés 352 Date d'inscription mercredi 19 mai 2010 Statut Membre Dernière intervention 19 mars 2014 - 12 avril 2011 à 10:41
Gremy87 Messages postés 352 Date d'inscription mercredi 19 mai 2010 Statut Membre Dernière intervention 19 mars 2014 - 12 avril 2011 à 10:41
A voir également:
- Tri d'une page HTML - PHP
- Supprimer une page word - Guide
- Traduire une page - Guide
- Tri excel - Guide
- Editeur html - Télécharger - HTML
- Créer une page facebook - Guide
9 réponses
Gremy87
Messages postés
352
Date d'inscription
mercredi 19 mai 2010
Statut
Membre
Dernière intervention
19 mars 2014
38
12 avril 2011 à 09:32
12 avril 2011 à 09:32
Bonjour,
relis le post en te mettant a notre place, euh waou^^
pas simple à comprendre sans un peu plus d'explications...
relis le post en te mettant a notre place, euh waou^^
pas simple à comprendre sans un peu plus d'explications...
En fait, avec mon script php je dois lire le contenu d'une page HTML ( qui ne contient que des chaînes de caractères heureusement ^^ ). J'ai trouvé comment faire ceci avec file_get_contents(). Maintenant, je dois trier le texte qui a été lu afin de mettre les information dans un tableau.
Je parlais des délimiteur tout à l'heure, voila une ligne du texte :
<||>MSG|=|Une mise à jour en version 3.50.61 est disponible,
Il faudrait que lorsque on tombe sur <||> ça mette ce qui vient ensuite dans une première colonne ( ici MSG ) et ce qui vient après |=| aille dans une deuxième colonne ( ici Une mise A jour ..... ).
J'espère avoir été plus clair :)
Je parlais des délimiteur tout à l'heure, voila une ligne du texte :
<||>MSG|=|Une mise à jour en version 3.50.61 est disponible,
Il faudrait que lorsque on tombe sur <||> ça mette ce qui vient ensuite dans une première colonne ( ici MSG ) et ce qui vient après |=| aille dans une deuxième colonne ( ici Une mise A jour ..... ).
J'espère avoir été plus clair :)
Gremy87
Messages postés
352
Date d'inscription
mercredi 19 mai 2010
Statut
Membre
Dernière intervention
19 mars 2014
38
12 avril 2011 à 09:53
12 avril 2011 à 09:53
c'est beaucoup plus clair oui ^^
$texte=file_get_contents("page.html");
$tab=explode("<||>", $texte);
avec ca tu vas donc avoir un tableau qui contiendra donc ton type d'info (MSG) le délimiteur |=| et le message
exemple
Array
{
[0]=>"MSG|=|Une mise à jour en version 3.50.61 est disponible"
}
si sur ce tableau tu refait un explode tu aura je pense ce qu il te faut.
$tabfinale=Array();
foreach ($tab as $ligne)
{
$tabfinal[]=explode('|=|',$ligne);
}
test tout ça:
$texte=file_get_contents("page.html");
$tab=explode("<||>", $texte);
$tabfinal=Array();
foreach ($tab as $ligne)
{
$tabfinal[]=explode('|=|',$ligne);
}
$texte=file_get_contents("page.html");
$tab=explode("<||>", $texte);
avec ca tu vas donc avoir un tableau qui contiendra donc ton type d'info (MSG) le délimiteur |=| et le message
exemple
Array
{
[0]=>"MSG|=|Une mise à jour en version 3.50.61 est disponible"
}
si sur ce tableau tu refait un explode tu aura je pense ce qu il te faut.
$tabfinale=Array();
foreach ($tab as $ligne)
{
$tabfinal[]=explode('|=|',$ligne);
}
test tout ça:
$texte=file_get_contents("page.html");
$tab=explode("<||>", $texte);
$tabfinal=Array();
foreach ($tab as $ligne)
{
$tabfinal[]=explode('|=|',$ligne);
}
C'est vrai que je n'avais pas penser au explode, mais malheureusement quand je souhaite lire le tableau avec un echo : echo $tabfinal[1]; par exemple, ça me marque dans tous les cas "Array"
Est ce parce qu'il y a plusieurs délimiteurs
( début du texte : <||>DRP_ERREUR|=|0<||>MSG_ERREUR|=|<||>DRP_MAJ|=|1<||>MSG_INFO|=|Une mise à jour en version 3.50.60 est disponible<||>MSG_INFO2|=|Une mise à jour en version 3.50.60 est disponible<||>MSG|=|Une mise à jour en version 3.50.60 est disponible, )
ou est-ce parce que je fait le file_get_contents() sur une page web en html sachant qu'il n'y a que du texte comme celui ci dessus et que lorsque je fais echo $texte; ça me retourne bien le texte contenu dans la page.
Est ce parce qu'il y a plusieurs délimiteurs
( début du texte : <||>DRP_ERREUR|=|0<||>MSG_ERREUR|=|<||>DRP_MAJ|=|1<||>MSG_INFO|=|Une mise à jour en version 3.50.60 est disponible<||>MSG_INFO2|=|Une mise à jour en version 3.50.60 est disponible<||>MSG|=|Une mise à jour en version 3.50.60 est disponible, )
ou est-ce parce que je fait le file_get_contents() sur une page web en html sachant qu'il n'y a que du texte comme celui ci dessus et que lorsque je fais echo $texte; ça me retourne bien le texte contenu dans la page.
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
Gremy87
Messages postés
352
Date d'inscription
mercredi 19 mai 2010
Statut
Membre
Dernière intervention
19 mars 2014
38
12 avril 2011 à 10:17
12 avril 2011 à 10:17
je fais quelques tests et je te tiens au courant ;)
Gremy87
Messages postés
352
Date d'inscription
mercredi 19 mai 2010
Statut
Membre
Dernière intervention
19 mars 2014
38
Modifié par Gremy87 le 12/04/2011 à 10:25
Modifié par Gremy87 le 12/04/2011 à 10:25
donc voila, c'est logique que ca te disse que c'est un array. pour afficher un tableau tout bien fait en php il faut utiliser print_r() entre des balises <pre></pre>
voila le résultat après le premier explode =)
et après le second:
donc en $tabfinal[4][0] tu as MSG_INFO par exemple associé a "Une mise à jour en version 3.50.60 est disponible" en $tabfinal[4][1]
voilou
RISE OF THE GEEK IS COMMING SOON!!! BWAHAHAHAHA
voila le résultat après le premier explode =)
----TAB------Array ( [0] => [1] => DRP_ERREUR|=|0 [2] => MSG_ERREUR|=| [3] => DRP_MAJ|=|1 [4] => MSG_INFO|=|Une mise à jour en version 3.50.60 est disponible [5] => MSG_INFO2|=|Une mise à jour en version 3.50.60 est disponible [6] => MSG|=|Une mise à jour en version 3.50.60 est disponible )
et après le second:
----TABFINAL------Array ( [0] => Array ( [0] => ) [1] => Array ( [0] => DRP_ERREUR [1] => 0 ) [2] => Array ( [0] => MSG_ERREUR [1] => ) [3] => Array ( [0] => DRP_MAJ [1] => 1 ) [4] => Array ( [0] => MSG_INFO [1] => Une mise à jour en version 3.50.60 est disponible ) [5] => Array ( [0] => MSG_INFO2 [1] => Une mise à jour en version 3.50.60 est disponible ) [6] => Array ( [0] => MSG [1] => Une mise à jour en version 3.50.60 est disponible ) )
donc en $tabfinal[4][0] tu as MSG_INFO par exemple associé a "Une mise à jour en version 3.50.60 est disponible" en $tabfinal[4][1]
voilou
RISE OF THE GEEK IS COMMING SOON!!! BWAHAHAHAHA
Eh ben un grand merci à toi!
Je confirme ça marche très bien :).
Encore merci, je vais pouvoir continuer aisément et ça m'a fait apprendre l'utilisation du explode() dans les grandes lignes ^^.
Une bonne journée à toi.
Cordialement
Je confirme ça marche très bien :).
Encore merci, je vais pouvoir continuer aisément et ça m'a fait apprendre l'utilisation du explode() dans les grandes lignes ^^.
Une bonne journée à toi.
Cordialement
Gremy87
Messages postés
352
Date d'inscription
mercredi 19 mai 2010
Statut
Membre
Dernière intervention
19 mars 2014
38
12 avril 2011 à 10:41
12 avril 2011 à 10:41
de rien =)
bonne journée
bonne journée