IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Langage PHP Discussion :

prendre le body [Tutoriel] [RegEx]


Sujet :

Langage PHP

  1. #1
    Membre émérite

    Homme Profil pro
    Expert PHP
    Inscrit en
    Novembre 2004
    Messages
    2 127
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    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 127
    Points : 2 557
    Points
    2 557
    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 : Sélectionner tout - Visualiser dans une fenêtre à part
    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 ??

  2. #2
    Membre émérite

    Homme Profil pro
    Expert PHP
    Inscrit en
    Novembre 2004
    Messages
    2 127
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    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 127
    Points : 2 557
    Points
    2 557
    Par défaut
    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 : Sélectionner tout - Visualiser dans une fenêtre à part
    /<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 )

  3. #3
    Membre régulier

    Profil pro
    Inscrit en
    Janvier 2003
    Messages
    66
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2003
    Messages : 66
    Points : 85
    Points
    85
    Par défaut
    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

  4. #4
    Membre émérite

    Homme Profil pro
    Expert PHP
    Inscrit en
    Novembre 2004
    Messages
    2 127
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    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 127
    Points : 2 557
    Points
    2 557
    Par défaut
    j'ai vu, et je pense que ca doit etre ca, mais j'arrive pas à l'insérer dans mon preg ...

  5. #5
    Membre émérite

    Homme Profil pro
    Expert PHP
    Inscrit en
    Novembre 2004
    Messages
    2 127
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    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 127
    Points : 2 557
    Points
    2 557
    Par défaut
    a priori il suffisait : grace au lien de necronick
    d'écrire :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    preg_match('/<body[^>]*>(.*)<\/body>/s', $html, $body);
    mais il reste encore quelque chose : comment ajouter plusieurs flag ??
    s et i par exemple ?

  6. #6
    Membre éprouvé

    Profil pro
    Inscrit en
    Août 2004
    Messages
    723
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2004
    Messages : 723
    Points : 923
    Points
    923
    Par défaut
    Il suffit de mettre si après le délimiteur final

  7. #7
    Membre émérite

    Homme Profil pro
    Expert PHP
    Inscrit en
    Novembre 2004
    Messages
    2 127
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    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 127
    Points : 2 557
    Points
    2 557
    Par défaut
    merci. c'est vraiment chaud les regex ...

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. prendre le controle d'un pc distant sans grosses manip
    Par aladjiasse dans le forum Développement
    Réponses: 13
    Dernier message: 10/04/2006, 15h14
  2. Prendre une valeur dans la grappe XML
    Par Sandrine75 dans le forum XMLRAD
    Réponses: 7
    Dernier message: 21/05/2003, 10h26
  3. Ajout d'attribut à l'élément "Body"
    Par Tirlibibi dans le forum XMLRAD
    Réponses: 2
    Dernier message: 07/04/2003, 15h52
  4. [VB6] [Réseau] Prendre le contrôle d'un téléchargement
    Par Tchetch dans le forum VB 6 et antérieur
    Réponses: 5
    Dernier message: 22/10/2002, 14h18
  5. Webbrowser : Comment ne pas prendre la page en cache
    Par cedm78 dans le forum Web & réseau
    Réponses: 3
    Dernier message: 30/08/2002, 11h17

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo