begin process at 2010 02 10 01:28:37
  Trouver un code source :
 
dans
 
Accueil > Forum > 

PHP

 > 

Divers

 > 

Général

 > 

File_get_contents sur une URL : encodage


Derniers messages déposésPoser une question dans le forum ou lancer une discussion

File_get_contents sur une URL : encodage

lundi 21 janvier 2008 à 22:48:35 | File_get_contents sur une URL : encodage

mentral

Bonjour,

Je suis en train de coder un script qui récupère une page HTML et l'analyse pour en extraire des informations. Pour cela, j'utilise file_get_contents(). Après avoir tourné en rond pendant un certain temps, j'ai compris que mon problème venait de l'encodage. Cependant, les fonctions mb_xxx() ne parviennent pas à venir à bout de ce code HTML, et iconv() non plus.

Ce qui fonctionne, c'est de se rendre à ladite URL, d'afficher le code source, de le copier/coller dans un bête fichier texte, puis de lancer le script avec comme input ce fichier texte au lieu de la page HTML et en remplaçant les fonctions strpos(), strlen() et substr() de base par leurs équivalents en mb_xxx().

Quelqu'un aurait-il une solution?

Merci! 

[ Mentral ]


lundi 21 janvier 2008 à 23:13:16 | Re : File_get_contents sur une URL : encodage

malalam

Administrateur CodeS-SourceS
Hello,

si tu donnais l'encodage de la page attaquée, et de la page appelante ?
Et comment se présente ton problème, au passage ?
lundi 21 janvier 2008 à 23:22:37 | Re : File_get_contents sur une URL : encodage

mentral

La page que j'appelle est en l'occurence : http://finance.yahoo.com/q/pr?s=FLWS
L'encodage est apparemment du ISO-8859-1 mais il est reconnu comme UTF-8.

Le truc est le suivant: j'ai toute une série de fonctions strpos(), strlen() et substr() pour analyser ce code HTML. Je les ai toutes mises en mb_xxx().

Cas 1) je charge le code HTML en appelant file_get_contents("http://finance.yahoo.com/q/pr?s=FLWS", "r"); et là rien ne marche car les fonctions mb_xxx() ne reconnaissent rien, et leurs équivalentes sans mb_ ne marchent pas non plus.

Cas 2) plutôt que de charger le code HTML par le script PHP, je vais manuellement sur le site puis j'enregistre le code par Ctrl+C et Ctrl+V dans un fichier texte. Au début du script, je charge le fichier texte au lieu de charge l'URL et là toutes les fonctions en mb_xxx() fonctionnement correctement et parsent correctement le code HTML.

Merci!

[ Mentral ]


mardi 22 janvier 2008 à 00:48:01 | Re : File_get_contents sur une URL : encodage

mentral

Je viens de réessayer en encodant mon ficher de code PHP de toutes les façons possibles et imaginables, et/ou de coder en utf-8 chaque chaîne de caractère utilisée dans les strpos() etc.

Rien à faire. La seule chose qui fait marcher le script c'est de sauvegarder manuellement la page web depuis Firefox vers le disque dur puis de faire tourner le script sur ce fichier-là au lieu d'inclure l'URL directement.

Ce truc me rend dingue!!! 

[ Mentral ]


mardi 22 janvier 2008 à 09:19:05 | Re : File_get_contents sur une URL : encodage

codefalse

Administrateur CodeS-SourceS
tu peux éventuellement essayer les fonctions utf8_decode / utf8_encode, ca pourrait t'aider :p
lundi 30 juin 2008 à 21:39:16 | Re : File_get_contents sur une URL : encodage

CrazyShooter

Salut!
Je te conseille d'utiliser la fonction preg_match_all

;)


Cette discussion est classée dans : file, url, get, encodage, contents


Répondre à ce message

Sujets en rapport avec ce message

Fonction @file_get_contents [ par CrazyShooter ] Bonsoir à tous !Je vais vous énoncer mon problème.J'essaye de récupérer le source d'une page web avec la fonction @file_get_contents($url),où $url = h file_get_contents() qui ne fonctionne pas sur xml Twitter [ par Ivynox ] Bonjour tout le monde, J'essaye depuis un bout de temps de comprendre ce qui ne va pas avec mon code: [code=php] $url = "http://twitter.com/statuses file_get_contents ne parse pas le php [ par Linuss ] Bonjour à tous, Alors voilà, je me suis remis au php après un temps d'arrêt, et du coup je tombe sur un os tr&#232 truc fou avec file_get_contents [ par caviar ] salut ...je viens de remarquer que si je fait un file_get_contents sur une page html qui a une ligne du typeen début de question avec file-get-contents [ par kangoo75 ] Bonjour, j'utilise actuellement un file-get-contents afin d'ouvrir et d'afficher une page distante.Jusque la tout vas bien hormis que les liens et ima Problème avec file_get_contents [ par Tetsuo30 ] Bonjour,j'ai un petit problème avec le fonction file_get_contentsVoici mon code :$texte = file_get_contents('test.txt'); ?>Le but c est de d'affich file_get_contents ne fonctionne pas comme voulu [ par sousoulebarbu ] Bonjour, J'ai juste une ligne de code que je n'arrive pas à faire fonctionner:echo file_get_contents("http://pelerin.lesagencestv.com/php/recherche_re Parser le texte en entier [ par Also know as ] Bonjour, Voilà j'essaye de faire un parser. Tout ce qui est création du fichier xml etc pour le moment ca devrait aller, en fait je cherche plus préci GET [ par kelm_by ] salutcomment est ce que je peux envoyer une variable qui contiend &url="index?id=5&ir=10&ip=200"index.php?url=aaaa&id=10merci


Nos sponsors


Sondage...

Comparez les prix

CalendriCode

Février 2010
LMMJVSD
1234567
891011121314
15161718192021
22232425262728

Consulter la suite du CalendriCode

 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils.
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 0,281 sec (3)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales