Précédent   Forum des professionnels en informatique > PHP > Langage > Regex
Regex Forum d'entraide sur les expressions rationnelles PHP. Avant de poster -> FAQ regex, Cours de regex et Sources de regex
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 15/11/2006, 12h54   #1
Candidat au titre de Membre du Club
 
Inscription : novembre 2004
Messages : 21
Détails du profil
Informations forums :
Inscription : novembre 2004
Messages : 21
Points : 10
Points : 10
Par défaut Récupérer le titre d'une page

Bonjour,

Je voudrais extraire le titre d'une page HTML

Voici mon code simplifié :

Code :
1
2
3
4
5
6
7
8
9
<?
$fp = fopen("http://www.monsite.com/index.php","r");
while (!feof($fp)) { 
  $page .= fgets($fp, 4096); 
}
 
$titre = eregi("<title>(.*)</title>",$page,$regs);
echo $regs[1]; // J'affiche le titre de la page
?>
Malheureusement s'il existe une autre balise </title> dans la page, je vais récupérer tout ce qu'il y a entre le premier <title> et le dernier </title>

Ma question est : Comment limiter la fonction eregi pour qu'il s'arrête juste après le premier </title> ?
tchoumak est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 15/11/2006, 19h13   #2
Membre Expert
 
Avatar de Anduriel
 
Homme
Étudiant
Inscription : février 2004
Messages : 2 168
Détails du profil
Informations personnelles :
Sexe : Homme
Localisation : France

Informations professionnelles :
Activité : Étudiant

Informations forums :
Inscription : février 2004
Messages : 2 168
Points : 1 277
Points : 1 277
Code :
1
2
3
4
5
6
7
<?
$fp = fopen("http://www.monsite.com/index.php","r");
while (!feof($fp)) {  $page .= fgets($fp, 4096);
}
$titre = preg_match("#\<title\>(.*)\</title\>#Ui",$page);
echo $titre[0]; // J'affiche le titre de la page
?>
Et avec ça?
Anduriel est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 15/11/2006, 19h41   #3
En attente de confirmation mail
 
Inscription : juin 2002
Messages : 6 164
Détails du profil
Informations forums :
Inscription : juin 2002
Messages : 6 164
Points : 6 404
Points : 6 404
Pour corriger Anduriel :
Code :
1
2
3
4
5
6
7
$fp = fopen("http://www.developpez.com/","r");
$page = '';
while (!feof($fp)) {
	$page .= fgets($fp, 4096);
}
preg_match("#<title>(.*)</title>#Ui", $page, $titre);
echo $titre[1];

Cordialement, Julp.
julp est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 16/11/2006, 01h22   #4
Membre émérite
 
Avatar de viviboss
 
Inscription : août 2006
Messages : 943
Détails du profil
Informations personnelles :
Âge : 30
Localisation : France, Gard (Languedoc Roussillon)

Informations forums :
Inscription : août 2006
Messages : 943
Points : 941
Points : 941
.....Et puis question à la c** : pourquoi il y aurait plus d'1 </title> dans ta page ?!?
__________________
Veni Vidi Vici
-------------------------
Mes articles : developpez.com ou bien vbview.net
-------------------------
Et SURTOUT ne pas oublier la bible PHP : --> php_manual_fr.chm!!!
Et aussi : --> pear_manual_fr.chm!!!

Ou encore : --> Les tutoriaux & cours PHP de Développez.com
-------------------------
viviboss est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 23/08/2007, 20h33   #5
Invité régulier
 
Inscription : août 2007
Messages : 34
Détails du profil
Informations forums :
Inscription : août 2007
Messages : 34
Points : 6
Points : 6
Par défaut svp jais bousoin d' aide

je utilise cette fonction pour prondre le titre d'aun page
____________________________________________
$fp = fopen("http://www.dajij.com","r");
$page = '';
while (!feof($fp)) {
$page .= fgets($fp, 4096);
}

preg_match("#<title>(.*)</title>#Ui", $page, $titre);
echo $titre[1];
}
____________________________________________

mais ci la page que je veut prendre son titre a ce code


<html>
<title>welcom</title>
<title>welcom1</title>
<title>welcom2</title>
<title>welcom3</title>
</html>

moi je veut prendre tous les titre welcom est welcom1 est welcom2 .....
svp aider moi et Merci .
dajij est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 23/08/2007, 21h29   #6
En attente de confirmation mail
 
Inscription : juin 2002
Messages : 6 164
Détails du profil
Informations forums :
Inscription : juin 2002
Messages : 6 164
Points : 6 404
Points : 6 404
Utilisez preg_match_all au lieu de preg_match, qui se limite à une seule capture, mais c'est un peu "tordu" comme structure HTML.
julp est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 07h07.


 
 
 
 
Partenaires

Hébergement Web