Expressions régulières
Hugo
-
zanlou -
zanlou -
Bonjour,
J'ai un problème à récupérer du texte entre des tags qui ne sont pas sur la même ligne. Le code que l'on trouve le plus fréquemment sur le web est:
<?php
$file = fopen(" http://page web", "r");
if (!$file) {
echo "<p>Impossible d'ouvrir le fichier distant.\n";
exit;
}
while (!feof($file)) {
$line = fgets($file, 1024);
/* Cela ne fonctionne que site le titre est écrit sur une ligne.*/
if (eregi("<title>(.*)</title>", $line, $out)) {
$title = $out[1];
break;
}
}
fclose($file);
echo $title;
?>
Est-ce quelqu'un sait comment lire sur plusieurs lignes??
Merci
J'ai un problème à récupérer du texte entre des tags qui ne sont pas sur la même ligne. Le code que l'on trouve le plus fréquemment sur le web est:
<?php
$file = fopen(" http://page web", "r");
if (!$file) {
echo "<p>Impossible d'ouvrir le fichier distant.\n";
exit;
}
while (!feof($file)) {
$line = fgets($file, 1024);
/* Cela ne fonctionne que site le titre est écrit sur une ligne.*/
if (eregi("<title>(.*)</title>", $line, $out)) {
$title = $out[1];
break;
}
}
fclose($file);
echo $title;
?>
Est-ce quelqu'un sait comment lire sur plusieurs lignes??
Merci
A voir également:
- Expressions régulières
- Expressions régulières "ne contient pas ..." ✓ - Forum Programmation
- Expressions francaises - Forum Études / Formation High-Tech
- Kyocera Ecosys P3060dn, traces régulières - Forum Imprimante
- Expressions visage bitmoji ✓ - Forum Snapchat
- Que veulent dire les expressions lol et mdr ? ✓ - Forum Loisirs / Divertissements
2 réponses
Salut Hugo,
la seule solution que je connaisse (car j'ai été confronté à ce problème), consiste à remplacer tous les \n par un mot clé, par exemple CoMmEnTcAmArCHe, faire le eregi, puis l'opération inverse !
la seule solution que je connaisse (car j'ai été confronté à ce problème), consiste à remplacer tous les \n par un mot clé, par exemple CoMmEnTcAmArCHe, faire le eregi, puis l'opération inverse !
Salut,
le plus simple est de stoquer les lignes dès que tu as trouvé le tag <TITLE> et d'arrêter une fois que tu as lu le tag </TITLE>
Tu te retrouves avec un certains nombre de lignes ( correspondant au nombre de lignes sur lequel le titre était écrit ) et il ne te reste plus qu'à les concaténer en prenant soin de supprimer le tag <TITLE> de la premiere ligne et le tag </TITLE> de la dernière.
Si tu veux utiliser les expressions régulières, il faudrait faire deux boucles imbriquées, mais cela t'éviteras d'avoir à extraire les tags.
Chaque méthode à son avantage, à toi de choisir.
A+,
Zanlou
le plus simple est de stoquer les lignes dès que tu as trouvé le tag <TITLE> et d'arrêter une fois que tu as lu le tag </TITLE>
Tu te retrouves avec un certains nombre de lignes ( correspondant au nombre de lignes sur lequel le titre était écrit ) et il ne te reste plus qu'à les concaténer en prenant soin de supprimer le tag <TITLE> de la premiere ligne et le tag </TITLE> de la dernière.
Si tu veux utiliser les expressions régulières, il faudrait faire deux boucles imbriquées, mais cela t'éviteras d'avoir à extraire les tags.
Chaque méthode à son avantage, à toi de choisir.
A+,
Zanlou