PHP|Débutant :: Forums

Advertisement

Besoin d'aide ? N'hésitez pas, mais respectez les règles

Vous n'êtes pas identifié(e).

#1 09-05-2010 11:03:12

dan4
Membre
Inscription : 10-01-2010
Messages : 128

résultat d'un url et preg_match (expression régulière)

Bonjour à tous et à toutes!

J'ai ce URL qui donne la population mondiale :
<script src="http://www.populationmondiale.com/population/clockjs.php?aff=1&lang=fr&cpop=FFFFFF&size=14&cclock=C0C0C0" type="text/javascript"></script>

J'aimerais isoler seulement le nombre issu de ce URL par une expression régulière ou autre moyen.

ce petit script affiche ceci :
6 862 019 129 personnes  dimanche 9 mai 2010 à 5 h 49 min et 42 s

J'aimerais afficher que ceci :
6 862 019 129

c'est possible et comment le faire?

Merci.


Salutations smile

Hors ligne

#2 09-05-2010 12:51:25

Jc
Membre
Lieu : Zillisheim - Alsace
Inscription : 15-04-2010
Messages : 1 629
Site Web

Re : résultat d'un url et preg_match (expression régulière)

Bonjour,

Le nombre que vous cherchez à récupérer est passé en paramètre (cpop)? ou il est calculé via le script?


POO PHP+Ajax en MVC avec PDO et Bases de données épaisses  : What else?

Hors ligne

#3 09-05-2010 13:17:43

dan4
Membre
Inscription : 10-01-2010
Messages : 128

Re : résultat d'un url et preg_match (expression régulière)

Jc a écrit :

Bonjour,

Le nombre que vous cherchez à récupérer est passé en paramètre (cpop)? ou il est calculé via le script?

j'en sais rien.

c'est un script de :
http://www.populationmondiale.com/inserer.html

pour afficher ceci:
6 862 019 129 personnes  dimanche 9 mai 2010 à 5 h 49 min et 42 s

(une idée comme ça: une fonction PHP qui permettrait d'aller chercher dans la source d'un site web une chaine de caractère... car le chiffre 6 862 019 129 est dans la source et via la fonction, il irait chercher comme un preg_match.

soit que la page serait mis en tampon et ainsi aller chercher la portion qui m'intéresse. cette page n'a que cette ligne en source.)


Salutations smile

Hors ligne

#4 09-05-2010 15:19:09

Jc
Membre
Lieu : Zillisheim - Alsace
Inscription : 15-04-2010
Messages : 1 629
Site Web

Re : résultat d'un url et preg_match (expression régulière)

Alors, j'y ai jeté un oeil et les params sont des params de style d'affichage.
La page source est hébergée au format php donc innacessible directement ou via une variable php.
Voici le code retourné

<style>
.populationmondiale { color: #C0C0C0; font-size: smaller; text-decoration: none;}
.clock { color: #CC0000; font-size: 10; text-decoration: none; }
</style>
<div class='clock'>
<a class='populationmondiale' href='http://www.populationmondiale.com'>PopulationMondiale.com</a><br><a class='clock' href='http://www.populationmondiale.com'> 6 862 060 644 personnes</a> dimanche 9 mai 2010  à 10 h 13 min et 41 s</div>

La méthode qui me viens de suite à l'esprit est d'afficher ta fonction d'appel dans une div cachée ('hidden') avec une id="pop" par exemple et d'y récupérer l'info via le dom en javascript.

Dernière modification par Jc (09-05-2010 15:20:31)


POO PHP+Ajax en MVC avec PDO et Bases de données épaisses  : What else?

Hors ligne

#5 09-05-2010 19:18:54

dan4
Membre
Inscription : 10-01-2010
Messages : 128

Re : résultat d'un url et preg_match (expression régulière)

Je suis familier avec le CSS mais pas avec le DOM, c'est possible d'avoir un exemple qui peut s'appliquer à ce cas?

stp merci.


Salutations smile

Hors ligne

#6 10-05-2010 01:56:52

Jc
Membre
Lieu : Zillisheim - Alsace
Inscription : 15-04-2010
Messages : 1 629
Site Web

Re : résultat d'un url et preg_match (expression régulière)

Bonsoir,

Je corrige ce que j'ai dit. Il te faudra un iframe caché lui aussi de facon à l'executer automatiquement (avec la div faudra une fonction pour le faire).
Si tu as un iframe ou une div,

<iframe id="resultat" style="visibility:hidden" ....>...</iframe>

, dans ton code js soit tu le fais avec innerHTML + un preg via .search(), soit à 100% avec le DOM. Avec le DOM, faut tenir compte qu'il y aura 3 nodes avant celui où se trouve ce qui nous interesse. Vu que ce dernier n'est pas nommé, faudra y accéder via les index des nodes de ton iframe, soit directement (on connait la structure de la réponse) soit via une boucle (peut être la meilleure méthode si on connait mal le DOM).

var x=document.getElementById("resultat");
 

Le pattern PCRE pour matcher "6 862 060 644 personnes"

$x=preg_match('(?:\d+\s?[./-]?)*personnes'm)
var str=document.getElementById("resultat").innerHTML;
var x=str.match(/(?:\d+\s?)+personnes/m);
document.write("Résultat : "+x);

POO PHP+Ajax en MVC avec PDO et Bases de données épaisses  : What else?

Hors ligne

#7 10-05-2010 16:03:25

dan4
Membre
Inscription : 10-01-2010
Messages : 128

Re : résultat d'un url et preg_match (expression régulière)

Merci pour vos effort JC.

J'ai tenté quelque chose comme cela :

<iframe id="resultat" src="http://www.populationmondiale.com/population/clock.php?lang=fr&aff=1&size=10&cpop=C0C0C0&cclock=CC0000">...</iframe>

<?php
$x = preg_match('(?:\d+\s?[./-]?)*personnes'm);
echo $x;
?>

Je comprends pas.


Salutations smile

Hors ligne

#8 10-05-2010 17:01:25

xTG
GrandGourou
Inscription : 18-06-2009
Messages : 1 127
Site Web

Re : résultat d'un url et preg_match (expression régulière)

Il y a une différence entre DOM qui est en relation avec Javascript et le PHP...
Jc t'a donné une solution javascript et non PHP.

Hors ligne

#9 10-05-2010 22:22:42

dan4
Membre
Inscription : 10-01-2010
Messages : 128

Re : résultat d'un url et preg_match (expression régulière)

xTG a écrit :

Il y a une différence entre DOM qui est en relation avec Javascript et le PHP...
Jc t'a donné une solution javascript et non PHP.

J'aurais souhaiter une solution PHP plutôt que javascript. Je suis à l'aise avec PHP mais pas javascript.

Merci quand même.

C'est apprécié d'avoir eu une réponse.


Salutations smile

Hors ligne

#10 10-05-2010 23:03:04

Jc
Membre
Lieu : Zillisheim - Alsace
Inscription : 15-04-2010
Messages : 1 629
Site Web

Re : résultat d'un url et preg_match (expression régulière)

Bonsoir,

Excuse moi, mais à mon sens la difficulté en php était dans le preg qui est un poil différent de celui en java, je t'ai donc donné la solution sur la partie difficile en PHP avec le point de départ en javascript. Concernant le DOM j'ai donné la méthodologie mais pas la réponse. Le plus simple et le plus rapide étant le preg via js et comme je l'ai montré ca ne prends que trois lignes. Pour le preg_match en php j'ai oublié un argument, désolé mais il était un peu tard quand j'ai post^^.

1.$resultat=preg_match('(?:\d+\s?[./-]?)*personnes'm,'$x');

$x corresponds à la chaîne retournée par l'iframe et récupérée avec le innerHTML donné dans le code javascript:

var x=document.getElementById("resultat").innerHTML;

Dernière modification par Jc (10-05-2010 23:06:30)


POO PHP+Ajax en MVC avec PDO et Bases de données épaisses  : What else?

Hors ligne

#11 11-05-2010 07:57:43

dan4
Membre
Inscription : 10-01-2010
Messages : 128

Re : résultat d'un url et preg_match (expression régulière)

Jc a écrit :

Bonsoir,

Excuse moi, mais à mon sens la difficulté en php était dans le preg qui est un poil différent de celui en java, je t'ai donc donné la solution sur la partie difficile en PHP avec le point de départ en javascript. Concernant le DOM j'ai donné la méthodologie mais pas la réponse. Le plus simple et le plus rapide étant le preg via js et comme je l'ai montré ca ne prends que trois lignes. Pour le preg_match en php j'ai oublié un argument, désolé mais il était un peu tard quand j'ai post^^.

1.$resultat=preg_match('(?:\d+\s?[./-]?)*personnes'm,'$x');

$x corresponds à la chaîne retournée par l'iframe et récupérée avec le innerHTML donné dans le code javascript:

var x=document.getElementById("resultat").innerHTML;

Merci, je vais essayer cela. Jc.

En passant, je cherche un moyen de retenir les 140 premiers caractères dans une phrase dont le mot qui arrive au 140e soit remplacé par trois petits points.

je cherche dans : http://ca3.php.net/manual/fr/function.strcspn.php et je ne trouve pas.


Salutations smile

Hors ligne

#12 11-05-2010 08:42:07

Alnoss
Modérateur absent
Lieu : 06 - PACA
Inscription : 11-05-2009
Messages : 541
Site Web

Re : résultat d'un url et preg_match (expression régulière)

tu as déjà posté plus de 100 fois, et tu ne respectes toujours pas la charte...
Dernier Avertissement dan4 ---> les balises !!!!!
Régulièrement, ce sont les modos qui éditent tes posts pour les rendre plus lisibles donc fais un petit effort. merci d'avance


MERCI de lire le mode d'emploi avant de poster !!

Hors ligne

#13 11-05-2010 08:57:32

Jc
Membre
Lieu : Zillisheim - Alsace
Inscription : 15-04-2010
Messages : 1 629
Site Web

Re : résultat d'un url et preg_match (expression régulière)

essaye avec str_replace() wink


POO PHP+Ajax en MVC avec PDO et Bases de données épaisses  : What else?

Hors ligne

Pied de page des forums