A voir également:
- [PHP] Récupérer une valeur du code source
- Voici du code ascii : - Guide
- Recuperer video youtube - Guide
- Recuperer message whatsapp supprimé - Guide
- Comment récupérer un compte facebook piraté - Guide
- Code puk bloqué - Guide
10 réponses
mambooo
Messages postés
9
Date d'inscription
lundi 15 mai 2006
Statut
Membre
Dernière intervention
16 novembre 2006
23 juin 2006 à 01:29
23 juin 2006 à 01:29
salut,
est ce que c difficile ce que je demande :-(
je peux recuperer par exemple le tite entre le deux balise <title> et </title>....mais quand je essaye de recupérer la valeur TOTO comme indiquer dans 1 er message ça ne marche !?
SVP est ce que qlq un a une idée ?
est ce que c difficile ce que je demande :-(
je peux recuperer par exemple le tite entre le deux balise <title> et </title>....mais quand je essaye de recupérer la valeur TOTO comme indiquer dans 1 er message ça ne marche !?
SVP est ce que qlq un a une idée ?
Ce n'est pas difficile enfin si assez quand même :)
Il faut le faire aux moyens d'expressions régulières.
Il faut le faire aux moyens d'expressions régulières.
mambooo
Messages postés
9
Date d'inscription
lundi 15 mai 2006
Statut
Membre
Dernière intervention
16 novembre 2006
23 juin 2006 à 11:59
23 juin 2006 à 11:59
voila je clarifie avec plus de détail:
par exemple si je veux récupéré le titre de la page je fais comme ça :
<?
$fp = fopen("URL","r"); //connexion au site
while (!feof($fp)) { //on parcourt toutes les lignes
$page .= fgets($fp, 4096); // lecture du contenu de la ligne
}
$titre = eregi("<title>(.*)</title>",$page,$regs); //on isole le titre
echo $regs[1];
fclose($fp);
?>
mais par exemple pour récupére la valeur TOTO dans l a balise ci-dessous ne marche pas:
---------------------------------------------------
:
:
:
<FORM action= page2index.php title=IMPEGA&action=editform method=post name=editform>
< INPUT name=TSection type=hidden>
< INPUT name=YStart type=hidden value=TOTO>
< INPUT name=Ytime type=hidden value=93011>
</FORM>
:
:
--------------------------------------------------------------
SVP si vous avez une idée merci de me le dire :-(
MICHEL
par exemple si je veux récupéré le titre de la page je fais comme ça :
<?
$fp = fopen("URL","r"); //connexion au site
while (!feof($fp)) { //on parcourt toutes les lignes
$page .= fgets($fp, 4096); // lecture du contenu de la ligne
}
$titre = eregi("<title>(.*)</title>",$page,$regs); //on isole le titre
echo $regs[1];
fclose($fp);
?>
mais par exemple pour récupére la valeur TOTO dans l a balise ci-dessous ne marche pas:
---------------------------------------------------
:
:
:
<FORM action= page2index.php title=IMPEGA&action=editform method=post name=editform>
< INPUT name=TSection type=hidden>
< INPUT name=YStart type=hidden value=TOTO>
< INPUT name=Ytime type=hidden value=93011>
</FORM>
:
:
--------------------------------------------------------------
SVP si vous avez une idée merci de me le dire :-(
MICHEL
mambooo
Messages postés
9
Date d'inscription
lundi 15 mai 2006
Statut
Membre
Dernière intervention
16 novembre 2006
23 juin 2006 à 15:37
23 juin 2006 à 15:37
le probléme de ne pas récupéré la valeur TOTO c'est que cette valise est intérpréter par le compilateur comme du code.alors il ne peut récupérer une valeur ou plus précisemant une metavaleur....!
Alors qu'est que vous pensez? : P
Alors qu'est que vous pensez? : P
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
Voilà ce que j'aurais fait, un petit array pour exemple.
Y'a moyen de faire mieux, mais je suis pas un spécialiste en regex.
Il te reste qu'a l'adapter à ta boucle while.
$test = array('<input type="hidden" name="t1" value="toto">', '<input type="hidden" name="t2" value="titi">', '<input type="text" name="t3" value="tutu">', '<input type="submit" name="t4" value="tata">' ); foreach( $test as $val ) { if( preg_match('`^<input type="hidden"(.+)*value="(.+)"(.+)*>$`i', $val) ) $hidden[] = preg_replace('`(.+)value="([[:alnum:]]+)"(.+)`i', '$2', $val); } foreach( $hidden as $val ) { echo $val .'<br>'; }
Y'a moyen de faire mieux, mais je suis pas un spécialiste en regex.
Il te reste qu'a l'adapter à ta boucle while.
mambooo
Messages postés
9
Date d'inscription
lundi 15 mai 2006
Statut
Membre
Dernière intervention
16 novembre 2006
23 juin 2006 à 18:57
23 juin 2006 à 18:57
est ce que tu peux me dire l'interpretation de cette ligne :
$hidden[] = preg_replace('`(.+)value="([[:alnum:]]+)"(.+)`i', '$2', $val);
$hidden[] = preg_replace('`(.+)value="([[:alnum:]]+)"(.+)`i', '$2', $val);
Oui,
$hidden est un tableau qui reçoit la valeur de value sur chaque valeur de l'array $test, si le masque est trouvé.
Donc,
Les (.+) avant et après signifie n'importe quel caractères pouvant être avant ou après.
Je sais pas si je suis assez clair, je suis pas fortich en regex.
$hidden est un tableau qui reçoit la valeur de value sur chaque valeur de l'array $test, si le masque est trouvé.
Donc,
preg_replace('`(.+)value="([[:alnum:]]+)"(.+)`i', '$2', $val);Les parenthèses correpondent à des variables à récupérer, ici, on récupère la valeur de la 2ème parenthèse ($2), [:alnum:] signifie exclusivement des lettres ou des chiffres.
Les (.+) avant et après signifie n'importe quel caractères pouvant être avant ou après.
Je sais pas si je suis assez clair, je suis pas fortich en regex.
mambooo
Messages postés
9
Date d'inscription
lundi 15 mai 2006
Statut
Membre
Dernière intervention
16 novembre 2006
23 juin 2006 à 20:39
23 juin 2006 à 20:39
salut Yvan,
franchement ton code est logique et professionel parceque il est optimisé et il y a pas beaucoup de lignes de code ..
mais je ne sais pourkoi quand je l'ai implémenter dans ma page il ne donne pas de résultat.
est ce que tu peux m'envoyer ton adresse e-mail sur ymambooo@yahoo.fr et je t'envoie la partie ou il y a le probleme, c 'est une petite partie , ne t'inquiete pas il va pas te prendre du temps..:-)
Merci beaucoup Yvan
franchement ton code est logique et professionel parceque il est optimisé et il y a pas beaucoup de lignes de code ..
mais je ne sais pourkoi quand je l'ai implémenter dans ma page il ne donne pas de résultat.
est ce que tu peux m'envoyer ton adresse e-mail sur ymambooo@yahoo.fr et je t'envoie la partie ou il y a le probleme, c 'est une petite partie , ne t'inquiete pas il va pas te prendre du temps..:-)
Merci beaucoup Yvan
Salut,
voila j'essayer avec l'dée propsée mais le programme ne donne pas de résultat......est ce que qlq vois une erreur ici !? :-(
-----------------------------------------------------------------------
$fp = fopen('mon URL', 'r');
$Tour = 0;
$page = array();
while (!feof($fp)) { //on parcourt toutes les lignes
$page [$Tour]= fgets($fp, 4096); // lecture du contenu de la ligne
$Tour=$Tour+1;
}
foreach( $page as $val )
{
if( preg_match('`^<input name=FRmape(.+)*value="(.+)"(.+)*>$`i', $val) )
$hidden[] = preg_replace('`(.+)value="([[:alnum:]]+)"(.+)`i', '$2', $val);
}
foreach( $hidden as $val )
{
echo $val .'<br>';
}
fclose($fp);
-----------------------------------------------------------------------
la lignes dans laquele je veux récpuré la valeur toto dans le code source est la suivante:
<INPUT name=FRmape type=hidden value=TOTO>
SVP un coup de main je suis bloqué , je vous remercie d'avance.
voila j'essayer avec l'dée propsée mais le programme ne donne pas de résultat......est ce que qlq vois une erreur ici !? :-(
-----------------------------------------------------------------------
$fp = fopen('mon URL', 'r');
$Tour = 0;
$page = array();
while (!feof($fp)) { //on parcourt toutes les lignes
$page [$Tour]= fgets($fp, 4096); // lecture du contenu de la ligne
$Tour=$Tour+1;
}
foreach( $page as $val )
{
if( preg_match('`^<input name=FRmape(.+)*value="(.+)"(.+)*>$`i', $val) )
$hidden[] = preg_replace('`(.+)value="([[:alnum:]]+)"(.+)`i', '$2', $val);
}
foreach( $hidden as $val )
{
echo $val .'<br>';
}
fclose($fp);
-----------------------------------------------------------------------
la lignes dans laquele je veux récpuré la valeur toto dans le code source est la suivante:
<INPUT name=FRmape type=hidden value=TOTO>
SVP un coup de main je suis bloqué , je vous remercie d'avance.
Ne faudrait-il pas récupérer tout l'input et l'analyser dans ta page???
tu récupère ça dans une variable $TOTO
< INPUT name=YStart type=hidden value=TOTO>
et puis tu fais :
$TOTO=str_replace("< INPUT name=YStart type=hidden value=","",$TOTO) ;
$TOTO=str_replace(">","",$TOTO) ;
et dans la variable $TOTO, il ne restera plus que ton code de ... caractères, tant que ça n'est pas un ">", sinon tu recherche le nombre de caractères et comme il est en dernière position
tu supprimer le dernier caractère
tu récupère ça dans une variable $TOTO
< INPUT name=YStart type=hidden value=TOTO>
et puis tu fais :
$TOTO=str_replace("< INPUT name=YStart type=hidden value=","",$TOTO) ;
$TOTO=str_replace(">","",$TOTO) ;
et dans la variable $TOTO, il ne restera plus que ton code de ... caractères, tant que ça n'est pas un ">", sinon tu recherche le nombre de caractères et comme il est en dernière position
tu supprimer le dernier caractère