Recherche chaine inconnue php

Fermé
sunburn23 Messages postés 33 Date d'inscription samedi 25 juillet 2009 Statut Membre Dernière intervention 25 juillet 2009 - 25 juil. 2009 à 13:57
giheller Messages postés 1875 Date d'inscription dimanche 14 juin 2009 Statut Membre Dernière intervention 3 février 2024 - 25 juil. 2009 à 18:19
Bonjour,

je viens faire appel à vous car mon probleme vous paraitra surement simple. Je résume :
j'ai une chaine de caracteres $chaine
Dans $chaine ( qui est codé en html ) il y a une chaine inconnue contenu dans une cellule

ex : <td width="119" >$chaineinconnue</td>

j'aimerai recuperer $chaineinconnue et l'afficher .

Quelqu'un peut il m'aider?

Voila ce que j'ai pour le moment comme code ( apres des dixaine de forums et des dixaines de modifs ):

function RecupererImag($Site)
{

$Titre = 'Pas de vignette';

$pattern='<td width="119" >(.*)</td>';

$subject = file_get_contents($Site);
if (eregi($pattern, $subject, $matches)) $imag = $matches[1];
return $Titre;

}

echo RecupererImag($img);
echo $imag;
A voir également:

17 réponses

giheller Messages postés 1875 Date d'inscription dimanche 14 juin 2009 Statut Membre Dernière intervention 3 février 2024 142
25 juil. 2009 à 15:31
Bonjour,


êtes-vous sûr que cela soir codé en html ?
dans votre code il y a des echo (php)
alors ?
<td width="119" ><?php echo $chaineinconnue; ?></td>
nb : votre fichier doit avoir une extension .php

0
sunburn23 Messages postés 33 Date d'inscription samedi 25 juillet 2009 Statut Membre Dernière intervention 25 juillet 2009
25 juil. 2009 à 16:00
desolé je me suis mal fai comprendre effectivement. j'ai mis $chaineinconnue certe. je n'aurai pas du le mettre ainsi.

c'est bien du langage html puisque en fait, en premier lieu je met en variable tout le code source d'une page html. Et dans ce code source, j'aimerai en fait extraire l'url d'une image. qui se trouve dans un cellule.

mais quand je lance ma fonction la variable est vide alors que le code encadrant (.*) est juste.( ou pas .. a vous de me dire ) ^^

merci de vos reponses
0
giheller Messages postés 1875 Date d'inscription dimanche 14 juin 2009 Statut Membre Dernière intervention 3 février 2024 142
25 juil. 2009 à 16:03
rebonjour,
la fonction c'est aussi du php.
vous pouvez avoir que du code html dans un fichier avec une extension php.

0
sunburn23 Messages postés 33 Date d'inscription samedi 25 juillet 2009 Statut Membre Dernière intervention 25 juillet 2009
25 juil. 2009 à 16:06
non mais.. euh..comment dire... $subject ne contient que du html. dans cette variable il y a le code d'une image.. avec url etc.. le tout en html...

par la fonction recupererImag() j'aimerai recuperer l'url de l'image qui se trouve dans la variable et que je ne connais pas... je ne connais que le code html qui suit et qui la precede.
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
giheller Messages postés 1875 Date d'inscription dimanche 14 juin 2009 Statut Membre Dernière intervention 3 février 2024 142
25 juil. 2009 à 16:09
certes le contenu de la variable est peut être du hml mais la syntaxe utilisée est du php.
je ne connais pas function en html
pas plus que echo
0
sunburn23 Messages postés 33 Date d'inscription samedi 25 juillet 2009 Statut Membre Dernière intervention 25 juillet 2009
25 juil. 2009 à 16:11
et donc? je doi faire quoi pour recuperer l'url de limage?
0
giheller Messages postés 1875 Date d'inscription dimanche 14 juin 2009 Statut Membre Dernière intervention 3 février 2024 142
25 juil. 2009 à 16:16
il faut exécuter ce programme sur un serveur qui interprète le php.
echo $nom_de_la variable affichera le contenu de la variable et si c'est un lien vers une image cela affichera l'image
exemple :

$variable ="images/nom_de_limage.jpg";
echo "<img src='".$variable."'>;

affichera l'image.
0
sunburn23 Messages postés 33 Date d'inscription samedi 25 juillet 2009 Statut Membre Dernière intervention 25 juillet 2009
25 juil. 2009 à 16:22
ah ouais en fait ta rien compris lol...

jvais faire simple:

serveur 1 : Page 1 --> html comportant une image que l'on nomera image1 pour l'exemple

serveur 2 ( le mien ) : Page 2 --> php comportant mon code de recuperation d'image

le code que je desire est cencé
- recuperer le code source de page 1 dans une variable
- analyser ce code afin d'en extraire l'url de l'image 1 situé entre deux elements connus
- afficher l'image

voila ^^
0
giheller Messages postés 1875 Date d'inscription dimanche 14 juin 2009 Statut Membre Dernière intervention 3 février 2024 142
25 juil. 2009 à 16:31
il y a donc plusieurs questions.
1 comment récupérer le code d'un site ? c'est pas bien, cela s'apprente à du piratage non ?
2 analyser ce code.
0
sunburn23 Messages postés 33 Date d'inscription samedi 25 juillet 2009 Statut Membre Dernière intervention 25 juillet 2009
25 juil. 2009 à 16:34
non le code je l'ai recuperer deja.. et c'est pas du piratage etant donné que sur tout navigateur tu peu le recuperer en faisant "afficher la source "

maintenant j'ai pas l'impression que tu sache plus que moi resoudre le probleme
0
giheller Messages postés 1875 Date d'inscription dimanche 14 juin 2009 Statut Membre Dernière intervention 3 février 2024 142
25 juil. 2009 à 16:41
Bon alors je te donne la solution.*
si tu fais echo $subject tu auras l'affichage de la page en format html
il suffit de convertir le html reçu en texte.
cependant si dans le code le chemin vers l'image est relatif et non codé "en dur" tu n'auras pas l'image.

on peut éffectivement faire afficher le code source mais l'automatisation ....

0
sunburn23 Messages postés 33 Date d'inscription samedi 25 juillet 2009 Statut Membre Dernière intervention 25 juillet 2009
25 juil. 2009 à 16:44
bah en fait jai deja reussi a extraire le title de cette variable.. mais pour des raisons qui mechappent je n'arrive pas a extraire l'image..
0
giheller Messages postés 1875 Date d'inscription dimanche 14 juin 2009 Statut Membre Dernière intervention 3 février 2024 142
25 juil. 2009 à 16:46
cependant si dans le code le chemin vers l'image est relatif et non codé "en dur" tu n'auras pas l'image.

alors il faut recomposer le chemin depuis la racine du site


0
sunburn23 Messages postés 33 Date d'inscription samedi 25 juillet 2009 Statut Membre Dernière intervention 25 juillet 2009
25 juil. 2009 à 16:54
ok je naurai pas limage.. mais je devrai avoir au moin klkchose.. un code.. un repertoire.. la ma variable reste vide
0
giheller Messages postés 1875 Date d'inscription dimanche 14 juin 2009 Statut Membre Dernière intervention 3 février 2024 142
25 juil. 2009 à 17:04
echo $subject contient le source du fichier.
echo $subject affiche la pge
il faut donc afficher sans que le html ne soit interprété.
0
Reivax962 Messages postés 3672 Date d'inscription jeudi 16 juin 2005 Statut Membre Dernière intervention 11 février 2021 1 011
25 juil. 2009 à 17:02
Bonjour,

Sans avoir l'ensemble du code source du site que tu veux lire, il est difficile de dire si le problème vient de l'expression rationnelle ou d'ailleurs.

Ceci-dit, le code de ta fonction n'est pas bon :

1 - ta fonction place le résultat trouvé dans une variable $imag, et renvoie au final la variable $Titre.
2 - comme cette variable $imag n'est définie nulle part ailleurs, et n'est pas déclarée comme globale, sa portée n'excède pas le cadre de ta fonction : du coup, le résultat de eregi est calculé et oublié aussitôt après.
3 - Hors de ta fonction, tu demandes "echo $imag", alors que $imag n'existe plus.

Bref, voilà ce qu'il faudrait écrire, plutôt :

$imag = "";
function RecupererImag($Site, &$imag)
{

$Titre = 'Pas de vignette';

$pattern='<td width="119" >(.*)</td>';

$subject = file_get_contents($Site);
if (eregi($pattern, $subject, $matches)) $imag = $matches[1];
return $Titre;

}

echo RecupererImag($img, $imag);
echo $imag;

Xavier
0
giheller Messages postés 1875 Date d'inscription dimanche 14 juin 2009 Statut Membre Dernière intervention 3 février 2024 142
25 juil. 2009 à 17:16
une fois le code dans $subject,
tu fais des explodes

comme ça
$subject = file_get_contents('http://url_du_dite/index.htm');

$a = explode ("<",$subject);
foreach ($a as $val){
if (substr($val,0,3)=='img' or substr($val,0,4)=='IMG') {
$b = explode("src",$val);
foreach ($b as $src){
//if (substr($src,0,3)=='src' or substr($src,0,4)=='SRC') {
echo $src."<br>";
//}
}
}
}
etc
on arrivera ainsi à avoir le chemin et le nom de l'image
0
giheller Messages postés 1875 Date d'inscription dimanche 14 juin 2009 Statut Membre Dernière intervention 3 février 2024 142
25 juil. 2009 à 18:19
encore mieux
<?php

$subject = file_get_contents('http://url du site/nom dun fichier);

$a = explode ("<",$subject);
foreach ($a as $val){
if (substr($val,0,3)=='img' or substr($val,0,4)=='IMG') {
$b = explode(" ",$val);
foreach ($b as $src){
if (substr($src,0,3)=='src' or substr($src,0,4)=='SRC') {
//affichage du nom des images trouvées
echo substr($src,4)."<br>";
}
}
}
}

?>
0