Bon...
D'abord, merci à vous, Ryle, Dunbar et GiorgioLino pour vos aides, ça fait plaisir.
En fonction de vos dires, j'ai fait quelques tests afin d'extraire ce fameux "nom_adherent" :
<?
$scan = '<div class="nom_adherent"> BIBLIOTHEQUE MEDIATHEQUE </div>';
preg_match('|<div class="nom_adherent">(.*)</div>|', $scan, $sortie);
echo "Resultat scan : $sortie[1]<br>";
?>
Ca fonctionne très bien si $scan est bien défini.
Moi, je lui fais scanner toute la page, d'où un essai comme ça :
<?
$scan = '<div class="nom_adherent">
BIBLIOTHEQUE MEDIATHEQUE </div>'; // j'ai volontairement copié le code tel quel avec les espaces depuis le code-source
echo "Pas transformé : $scan<br>";
$scan=htmlspecialchars($scan)."<br>";
echo "Transformé : $scan<br>";
preg_match('|<div class="nom_adherent">(.*)</div>|', $scan, $sortie);
echo "Resultat scan : $sortie[1]<br>";
?>
Là ça ne renvoie rien. Pourtant ce code m'affiche :
Pas transformé :
BIBLIOTHEQUE MEDIATHEQUE
Transformé : <div class="nom_adherent"> BIBLIOTHEQUE MEDIATHEQUE </div>
Resultat scan :
... et cependant, une fois transformé, j'ai le même affichage qu'au début, à savoir <div class="nom_adherent"> BIBLIOTHEQUE MEDIATHEQUE </div> !!!
Le fait d'employer htmlspecialchars() modifie-t-il en quelque sorte la "valeur" de la ligne ? Ce n'est pas vu comme une chaîne, telle que dans le premier test ?
Le même test avec file_get_contents() au lieu de htmlspecialchars(), voire les deux combinés, ne m'apportent toujours pas le résultat escompté.
Vous y comprenez quelque-chose, vous ?
Jusqu'ici je m'en sortais avec eregi() pour extraire le titre (<title>....</title>) :
<?
$url="http://www.gerardmer.net/bibliotheque-mediatheque_francais.php";
$scan = file_get_contents($url);
if(eregi('<title>(.*)</title>', $scan, $sortie)){
echo "Resultat scan : $sortie[1]<br>";
}
?>
Résultat :
Resultat scan : Bibliothèque et médiathèque
La fête !
Mais cette méthode là plante dans mon cas.
Et quant à rajouter le "U" dans preg_match, je ferai ça par la suite. Merci pour l'idée. Déjà le premier résultat, on verra bien par la suite pour les autres. Je n'ai qu'un titre dans chaque page, mais plusieurs adhérents dans d'autres...
Pour l'histoire, je cherche à fabriquer de mes petites mains malhabiles un moteur de recherche. J'y suis presque...
Encore merci à vous.
Ecumastor
Bon...
D'abord, merci à vous, Ryle, Dunbar et GiorgioLino pour vos aides, ça fait plaisir.
En fonction de vos dires, j'ai fait quelques tests afin d'extraire ce fameux "nom_adherent" :
[php]
<?
$scan = '<div class="nom_adherent"> BIBLIOTHEQUE MEDIATHEQUE </div>';
preg_match('|<div class="nom_adherent">(.*)</div>|', $scan, $sortie);
echo "Resultat scan : $sortie[1]<br>";
?>
[/php]
Ca fonctionne très bien si $scan est bien défini.
Moi, je lui fais scanner toute la page, d'où un essai comme ça :
[php]
<?
$scan = '<div class="nom_adherent">
BIBLIOTHEQUE MEDIATHEQUE </div>'; // j'ai volontairement copié le code tel quel avec les espaces depuis le code-source
echo "Pas transformé : $scan<br>";
$scan=htmlspecialchars($scan)."<br>";
echo "Transformé : $scan<br>";
preg_match('|<div class="nom_adherent">(.*)</div>|', $scan, $sortie);
echo "Resultat scan : $sortie[1]<br>";
?>
[/php]
Là ça ne renvoie rien. Pourtant ce code m'affiche :
[quote]
Pas transformé :
BIBLIOTHEQUE MEDIATHEQUE
Transformé : <div class="nom_adherent"> BIBLIOTHEQUE MEDIATHEQUE </div>
Resultat scan :
[/quote]
... et cependant, une fois transformé, j'ai le même affichage qu'au début, à savoir <div class="nom_adherent"> BIBLIOTHEQUE MEDIATHEQUE </div> !!!
Le fait d'employer htmlspecialchars() modifie-t-il en quelque sorte la "valeur" de la ligne ? Ce n'est pas vu comme une chaîne, telle que dans le premier test ?
Le même test avec file_get_contents() au lieu de htmlspecialchars(), voire les deux combinés, ne m'apportent toujours pas le résultat escompté.
Vous y comprenez quelque-chose, vous ? 8-|
Jusqu'ici je m'en sortais avec eregi() pour extraire le titre (<title>....</title>) :
[php]
<?
$url="http://www.gerardmer.net/bibliotheque-mediatheque_francais.php";
$scan = file_get_contents($url);
if(eregi('<title>(.*)</title>', $scan, $sortie)){
echo "Resultat scan : $sortie[1]<br>";
}
?>
[/php]
Résultat :
[quote]
Resultat scan : Bibliothèque et médiathèque
[/quote]
La fête !
Mais cette méthode là plante dans mon cas.
Et quant à rajouter le "U" dans preg_match, je ferai ça par la suite. Merci pour l'idée. Déjà le premier résultat, on verra bien par la suite pour les autres. Je n'ai qu'un titre dans chaque page, mais plusieurs adhérents dans d'autres...
Pour l'histoire, je cherche à fabriquer de mes petites mains malhabiles un moteur de recherche. J'y suis presque...
Encore merci à vous.
Ecumastor