Récupérer les données sur un autre site
Fermé
Wizzzz
-
21 févr. 2005 à 19:42
kilian Messages postés 8731 Date d'inscription vendredi 19 septembre 2003 Statut Modérateur Dernière intervention 20 août 2016 - 16 mai 2007 à 16:28
kilian Messages postés 8731 Date d'inscription vendredi 19 septembre 2003 Statut Modérateur Dernière intervention 20 août 2016 - 16 mai 2007 à 16:28
A voir également:
- Récupérer les données sur un autre site
- Site de telechargement - Accueil - Outils
- Comment recuperer un message supprimé sur whatsapp - Guide
- Site comme coco - Accueil - Réseaux sociaux
- Recuperer video youtube - Guide
- Comment récupérer un compte facebook piraté - Guide
10 réponses
kilian
Messages postés
8731
Date d'inscription
vendredi 19 septembre 2003
Statut
Modérateur
Dernière intervention
20 août 2016
1 527
21 févr. 2005 à 20:00
21 févr. 2005 à 20:00
Salut,
Tu as la fonction file_get_contents() qui te permet de lire un fichier en entier. Il suffit de le mettre dans une variable et de faire un echo.
Sinon, si tu veux carrément le code source d'une page Php il faut utiliser include ou require. Et il me semble que ça ne marche que si la page est sur ton site mais c'est à vérifier.
Tu as la fonction file_get_contents() qui te permet de lire un fichier en entier. Il suffit de le mettre dans une variable et de faire un echo.
<? $texte=file_get_contents("ton_url"); echo "<html><body><div class='texte'> $texte </div></body></html>"; ?>
Sinon, si tu veux carrément le code source d'une page Php il faut utiliser include ou require. Et il me semble que ça ne marche que si la page est sur ton site mais c'est à vérifier.
kilian
Messages postés
8731
Date d'inscription
vendredi 19 septembre 2003
Statut
Modérateur
Dernière intervention
20 août 2016
1 527
21 févr. 2005 à 20:27
21 févr. 2005 à 20:27
Ben ça dépends de la partie du texte, tu veut le séléctionner sur des lignes précises? A partir d'un début précis....?
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
kilian
Messages postés
8731
Date d'inscription
vendredi 19 septembre 2003
Statut
Modérateur
Dernière intervention
20 août 2016
1 527
21 févr. 2005 à 20:44
21 févr. 2005 à 20:44
C'est comme début? Une ligne? Un mot?
kilian
Messages postés
8731
Date d'inscription
vendredi 19 septembre 2003
Statut
Modérateur
Dernière intervention
20 août 2016
1 527
22 févr. 2005 à 04:39
22 févr. 2005 à 04:39
Alors si ton texte à insérer commence par "Expert en ptit lu" dans un fichier appelé truc.txt dans le même repertoire que ton fichier php en cours d'execution.
Ca donne:
=> http://fr.php.net/manual/fr/function.strstr.php
Et voilà :-)
Ca donne:
<? // Tout le contenu du fichier truc.txt va dans $fichier $fichier=file_get_contents("./truc.txt"); $debut="Expert en ptit lu"; /* $texte_a_inserer prendra le contenu de $fichier en prenant pour début le contenu de $debut */ $texte_a_inserer=strstr($fichier,$debut); echo "<html><body><div class=\"texte\"> $texte_a_inserer </div></body></html>"; ?>
=> http://fr.php.net/manual/fr/function.strstr.php
Et voilà :-)
kilian
Messages postés
8731
Date d'inscription
vendredi 19 septembre 2003
Statut
Modérateur
Dernière intervention
20 août 2016
1 527
22 févr. 2005 à 20:01
22 févr. 2005 à 20:01
Eh bien tu fais tout pareil sauf qu'avant d'afficher $texte_a_inserer tu le transforme en tableau avec pour séparateur le mot que tu veux (on va prendre "fin".
Puis tu fais finalement un echo sur le premier élément du tableau:
Et voilà.
<? $texte_a_inserer=explode("fin",$texte_a_inserer); ?>
Puis tu fais finalement un echo sur le premier élément du tableau:
<? echo $texte_a_inserer[0]; ?>
Et voilà.
romantony
Messages postés
3
Date d'inscription
lundi 14 mai 2007
Statut
Membre
Dernière intervention
15 mai 2007
14 mai 2007 à 17:02
14 mai 2007 à 17:02
Bonjour,
J'ai suivi avec beaucoup d'intêret et de profit la discussion. J'ai réussi quelques tests...Néanmoins aprés de multiples essais je souhaite extraire une donnée qui s'actualise (exemple : un prix ou une température) sans faire apparaitre la légende :
- Sur la page de référence : Nice 31 ° Marseille 33 ° Lyon 28° ...
- Extraction souhaitée : 33° (uniquement la température car je place en fait une photo à la place de la ville)
Quelqu'un peut-il m'aider ?
Avec mes remerciements anticipés
J'ai suivi avec beaucoup d'intêret et de profit la discussion. J'ai réussi quelques tests...Néanmoins aprés de multiples essais je souhaite extraire une donnée qui s'actualise (exemple : un prix ou une température) sans faire apparaitre la légende :
- Sur la page de référence : Nice 31 ° Marseille 33 ° Lyon 28° ...
- Extraction souhaitée : 33° (uniquement la température car je place en fait une photo à la place de la ville)
Quelqu'un peut-il m'aider ?
Avec mes remerciements anticipés
kilian
Messages postés
8731
Date d'inscription
vendredi 19 septembre 2003
Statut
Modérateur
Dernière intervention
20 août 2016
1 527
14 mai 2007 à 20:33
14 mai 2007 à 20:33
Salut,
Dans ce cas, l'idéal est de passer par une expression régulière, c'est à dire un modèle de chaine de caractère qui te permettra d'extraire telle ou telle partie.
Par exemple, prenons ta chaîne "Nice 31° Marseille 33° Lyon 28°".
Tu veux n'extraire que la température de marseille.
Voilà ce que ça donnerais:
Voici le fonctionnement, le modèle (ou masque), contenu dans $exp précise qu'il faut n'importe quel caractère (.*?) jusqu'à Marseille, ensuite un espace puis deux chiffres entre 0 et 9 ([0-9}{2}) puis un ° et n'importe quoi d'autre. Ce que l'on capture est entre parenhèses.
Enfin bref, je te renvoie ici pour plus de détail:
phpreg
J'ai pas testé mon truc, dis moi si ça marche pas et je vérifierai.
Dans ce cas, l'idéal est de passer par une expression régulière, c'est à dire un modèle de chaine de caractère qui te permettra d'extraire telle ou telle partie.
Par exemple, prenons ta chaîne "Nice 31° Marseille 33° Lyon 28°".
Tu veux n'extraire que la température de marseille.
Voilà ce que ça donnerais:
$chaine = "Nice 31° Marseille 33° Lyon 28°"; $exp = "/.*?Marseille ([0-9]{2})°.*/"; preg_match($exp, $chaine, $capture,PREG_OFFSET_CAPTURE); echo $capture[0]; //Devrait écrire 33
Voici le fonctionnement, le modèle (ou masque), contenu dans $exp précise qu'il faut n'importe quel caractère (.*?) jusqu'à Marseille, ensuite un espace puis deux chiffres entre 0 et 9 ([0-9}{2}) puis un ° et n'importe quoi d'autre. Ce que l'on capture est entre parenhèses.
Enfin bref, je te renvoie ici pour plus de détail:
phpreg
J'ai pas testé mon truc, dis moi si ça marche pas et je vérifierai.
kilian
Messages postés
8731
Date d'inscription
vendredi 19 septembre 2003
Statut
Modérateur
Dernière intervention
20 août 2016
1 527
14 mai 2007 à 20:38
14 mai 2007 à 20:38
Remarque, plus simplement tu peux utiliser la fonction strstr pour localiser la postion de Marseille dans le texte, puis récupérer le nombre après.
Les expressions régulières c'est pratique mais c'est plus lourd en traitement, autant les éviter quand on peut finalement.
Les expressions régulières c'est pratique mais c'est plus lourd en traitement, autant les éviter quand on peut finalement.
romantony
Messages postés
3
Date d'inscription
lundi 14 mai 2007
Statut
Membre
Dernière intervention
15 mai 2007
15 mai 2007 à 13:36
15 mai 2007 à 13:36
Bonjour et merci pour les indications précieuses qui m'ont permis d'avancer
Ainsi pour le :
$chaine = "Nice 31° Marseille 33° Lyon 28°";
$exp = "/.*?Marseille ([0-9]{2})°.*/";
preg_match($exp, $chaine, $capture,PREG_OFFSET_CAPTURE);
echo $capture[0]; //Devrait écrire 33
j'obtiens dans le navigateur :
ARRAY
Je ne sais pas à quoi cela correspond?
J'ai creusé du coté de strstr comme tu me l'avais conseillé et surprise :
<?
$chaine = "Nice 31° Marseille 33° Lyon 28°";
$exp = strstr($chaine,"Marseille");
$texte1 = str_replace('Marseille','',$exp);
$nouveau_texte = substr($texte1,0,strpos($texte1,'L'));
echo "<html><body><div class=\"texte\"> $texte_a_inserer </div></body></html>";
?>
En fait j'ai désigné la chaine
puis recherché tous les caractères à partir de Marseille (inclus)
puis effacer Marseille
et enfin supprimer le texte à partir de "L" (inclus)
Est-ce que c'est propre ?
Je vais tester ça entre 2 pages HTML avec un tableau excel...
Je te renouvelle mes remerciements
Ainsi pour le :
$chaine = "Nice 31° Marseille 33° Lyon 28°";
$exp = "/.*?Marseille ([0-9]{2})°.*/";
preg_match($exp, $chaine, $capture,PREG_OFFSET_CAPTURE);
echo $capture[0]; //Devrait écrire 33
j'obtiens dans le navigateur :
ARRAY
Je ne sais pas à quoi cela correspond?
J'ai creusé du coté de strstr comme tu me l'avais conseillé et surprise :
<?
$chaine = "Nice 31° Marseille 33° Lyon 28°";
$exp = strstr($chaine,"Marseille");
$texte1 = str_replace('Marseille','',$exp);
$nouveau_texte = substr($texte1,0,strpos($texte1,'L'));
echo "<html><body><div class=\"texte\"> $texte_a_inserer </div></body></html>";
?>
En fait j'ai désigné la chaine
puis recherché tous les caractères à partir de Marseille (inclus)
puis effacer Marseille
et enfin supprimer le texte à partir de "L" (inclus)
Est-ce que c'est propre ?
Je vais tester ça entre 2 pages HTML avec un tableau excel...
Je te renouvelle mes remerciements
romantony
Messages postés
3
Date d'inscription
lundi 14 mai 2007
Statut
Membre
Dernière intervention
15 mai 2007
15 mai 2007 à 16:47
15 mai 2007 à 16:47
PS : dans la réponse précédente il faut remplacer echo...$texte_à_insere par $nouveau_texte
c'est idiot mais j'arrive pas à changer la police de mon résultat ???
echo "<html><body>
<font-size:20.0pt;font-family:"Arial Narrow";color:red'>$nouveau_texte </font>
</body></html>";
que manque-t-il ?
Merci d'avance
c'est idiot mais j'arrive pas à changer la police de mon résultat ???
echo "<html><body>
<font-size:20.0pt;font-family:"Arial Narrow";color:red'>$nouveau_texte </font>
</body></html>";
que manque-t-il ?
Merci d'avance
kilian
Messages postés
8731
Date d'inscription
vendredi 19 septembre 2003
Statut
Modérateur
Dernière intervention
20 août 2016
1 527
>
romantony
Messages postés
3
Date d'inscription
lundi 14 mai 2007
Statut
Membre
Dernière intervention
15 mai 2007
16 mai 2007 à 16:28
16 mai 2007 à 16:28
Car ce code pour le formatage de texte ce n'est pas de l'html mais du css.
Il faudrait faire comme ça:
Il faudrait faire comme ça:
echo "<html><body> <span style=\"font-size:20.0pt;font-family:Arial Narrow;color:red\">$nouveau_texte </span> </body></html>";