Salut
j'aimerais r�cuperer une chaine contenue en tre deux tags.
pourriez vous m'aider ?
Salut
j'aimerais r�cuperer une chaine contenue en tre deux tags.
pourriez vous m'aider ?
En faisant une recherche vous auriez d� trouver :
Ou une version qui capture toutes les occurences situ�es entre <tag> et </tag> :
Code : S�lectionner tout - Visualiser dans une fen�tre � part
1
2
3
4 $string = "début <tag>à capturer</tag> fin."; if (preg_match('#<tag>(.*)</tag>#Uis', $string, $m)) { echo $m[1]; }
Code : S�lectionner tout - Visualiser dans une fen�tre � part
1
2
3
4
5
6
7 $string = "début <tag>à capturer</tag> milieu <tag>à capturer bis</tag> fin."; $nbOccurences = preg_match_all('#<tag>(.*)</tag>#Uis', $string, $m); if ($nbOccurences > 0) { # Test non nécessaire suivant ce que vous faites for ($i = 0; $i < $nbOccurences; $i++) { echo $m[1][$i] . '<br/>'; } }
re-salut
voil� qu'il me faut des-r�soudre mon probleme, en effet, j'en ais un autre du meme accabi.
voila mon bout de code :
or, quand j'ex�cute mon code, rien ne se passe. j'ai test� le morceau de re�cuperation de $texte, il marche ..
Code : S�lectionner tout - Visualiser dans une fen�tre � part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26 $fichier = "http://www.url-quelconque.fr/fichier-quelconque.html"; $Tag_STR = addslashes('<div id="tagarecuperer">'); $Tag_STP = addslashes('</div>'); $fp = @fopen($fichier,"r"); $texte = ""; if($fp) { while(!feof($fp)) { $texte .= fgets($fp,1024); } if (preg_match('#'.$Tag_STR.'(.+)'.$Tag_STP.'#i', $texte , $m)) { echo $m[1]; } } else { echo("Erreur : Les informations ne peuvent etre récuperées"); }
voyez vous mon erreur ?
merci, ++ Tix.
Vous n'avez pas besoin d'appliquer addslahes sur $Tag_STR et $Tag_STP d'autant plus que ce traitement est incorrect. (Il manque le fclose �galement.)
merci.
Voila mon nouveau code
...qui refuse d'entendre raison, encore.
Code : S�lectionner tout - Visualiser dans une fen�tre � part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31 <?php $fichier = "http://www.****.fr/bidule.html"; $Tag_STR = '<div id="tag"'; $Tag_STP = '</div>'; $fp = @fopen($fichier,"r"); $texte = ""; if($fp) { while(!feof($fp)) { $texte .= fgets($fp,1024); } if (preg_match('#'.$Tag_STR.'(.+)'.$Tag_STP.'#Uis', $texte , $m)) { echo $m[1]; } } else { echo("Impossible d'ouvrir la page sélectionnée"); } fclose($fp); ?>
voyez vous autre chose ?
merci, ++ Tix.
J'ai test� de mon c�t� et �a fonctionne tr�s bien. Vous devriez enlever l'arobase devant le fopen (pour tester au moins). allow_url_fopen est � on sur votre serveur ? Pas de m�tacaract�res dans le tag ?
merci
bah, �coutez, j'arrive parfaitement � charger mon fichier, le seul truc vien de mon regex apparemment .... je ne sait plus quoi faire.
Partager