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 03/01/2005, 10h03   #1
Expert Confirmé
 
Avatar de Maxoo
 
Maxime Pasquier
Expert PHP
Inscription : novembre 2004
Messages : 2 126
Détails du profil
Informations personnelles :
Nom : Maxime Pasquier
Âge : 28
Localisation : France, Loire Atlantique (Pays de la Loire)

Informations professionnelles :
Activité : Expert PHP
Secteur : High Tech - Multimédia et Internet

Informations forums :
Inscription : novembre 2004
Messages : 2 126
Points : 2 602
Points : 2 602
Par défaut prendre le body

voila, j'ai un gros problème ...
devoir prendre le body.

j'y arrivais avant, mais j'ai changé mon regexp en preg_match, pour plus de rapidité.

Code :
1
2
3
4
5
6
$html = file_get_contents('http://www.yahoo.fr');
 
preg_match('/<title[^>]*>(.*)<\/title>/', $html, $title);
preg_match('/<body[^>]*>(.*)<\/body>/', $html, $body);
print_r($title);
print_r($body);
voila, je chope le contenu de la source html de yahoo (par ex) et je cherche a avoir le titre et le body.

titre marche tres bien, body plante completement ??

des idées ??
Maxoo est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 03/01/2005, 10h35   #2
Expert Confirmé
 
Avatar de Maxoo
 
Maxime Pasquier
Expert PHP
Inscription : novembre 2004
Messages : 2 126
Détails du profil
Informations personnelles :
Nom : Maxime Pasquier
Âge : 28
Localisation : France, Loire Atlantique (Pays de la Loire)

Informations professionnelles :
Activité : Expert PHP
Secteur : High Tech - Multimédia et Internet

Informations forums :
Inscription : novembre 2004
Messages : 2 126
Points : 2 602
Points : 2 602
http://www.lumadis.be/test_php/test_regex.php

ici on peut tester facilement avec un contenu que
un ereg avec marche
et
un preg avec
Code :
/<body[^>]*>(.*)<\/body>/
ne marche pas !!!

remarque, avec un title, ca marche, mais pas un BODY !!
(je pense que ca vient du saut de ligne, mais pourquoi est il si méchant )
Maxoo est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 03/01/2005, 10h51   #3
Membre régulier
 
Inscription : janvier 2003
Messages : 66
Détails du profil
Informations forums :
Inscription : janvier 2003
Messages : 66
Points : 70
Points : 70
ne faut-il pas mettre un /m a la fin du premier parametre pour lui indiquer que c'est multiligne ?

C'est ce que je comprends quand je le lis ceci :

http://fr.php.net/manual/fr/referenc....modifiers.php
__________________
necronick
necronick est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 03/01/2005, 11h11   #4
Expert Confirmé
 
Avatar de Maxoo
 
Maxime Pasquier
Expert PHP
Inscription : novembre 2004
Messages : 2 126
Détails du profil
Informations personnelles :
Nom : Maxime Pasquier
Âge : 28
Localisation : France, Loire Atlantique (Pays de la Loire)

Informations professionnelles :
Activité : Expert PHP
Secteur : High Tech - Multimédia et Internet

Informations forums :
Inscription : novembre 2004
Messages : 2 126
Points : 2 602
Points : 2 602
j'ai vu, et je pense que ca doit etre ca, mais j'arrive pas à l'insérer dans mon preg ...
Maxoo est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 03/01/2005, 11h25   #5
Expert Confirmé
 
Avatar de Maxoo
 
Maxime Pasquier
Expert PHP
Inscription : novembre 2004
Messages : 2 126
Détails du profil
Informations personnelles :
Nom : Maxime Pasquier
Âge : 28
Localisation : France, Loire Atlantique (Pays de la Loire)

Informations professionnelles :
Activité : Expert PHP
Secteur : High Tech - Multimédia et Internet

Informations forums :
Inscription : novembre 2004
Messages : 2 126
Points : 2 602
Points : 2 602
a priori il suffisait : grace au lien de necronick
d'écrire :

Code :
preg_match('/<body[^>]*>(.*)<\/body>/s', $html, $body);
mais il reste encore quelque chose : comment ajouter plusieurs flag ??
s et i par exemple ?
Maxoo est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 03/01/2005, 12h52   #6
Membre chevronné
 
Inscription : août 2004
Messages : 723
Détails du profil
Informations forums :
Inscription : août 2004
Messages : 723
Points : 779
Points : 779
Il suffit de mettre si après le délimiteur final
oiffrig est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 03/01/2005, 15h30   #7
Expert Confirmé
 
Avatar de Maxoo
 
Maxime Pasquier
Expert PHP
Inscription : novembre 2004
Messages : 2 126
Détails du profil
Informations personnelles :
Nom : Maxime Pasquier
Âge : 28
Localisation : France, Loire Atlantique (Pays de la Loire)

Informations professionnelles :
Activité : Expert PHP
Secteur : High Tech - Multimédia et Internet

Informations forums :
Inscription : novembre 2004
Messages : 2 126
Points : 2 602
Points : 2 602
merci. c'est vraiment chaud les regex ...
Maxoo est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité Cette discussion est résolue.
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 14h38.


 
 
 
 
Partenaires

Hébergement Web