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 :

Récupérer du code entre 2 balises d’une page html [PHP 5.0]


Sujet :

Langage PHP

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Profil pro
    Inscrit en
    Septembre 2009
    Messages
    55
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2009
    Messages : 55
    Par défaut Récupérer du code entre 2 balises d’une page html
    Bonjour le forum,

    Voilà, j’ai un espace membres (par ID/PW) qui inclut des milliers de pages toutes construites selon le même schéma de code php/html.
    Je voudrais créer un bouton lien en haut de chaque page web dans le header (facile) qui, si cliqué, ouvre l’adresse mail du visiteur, crée un destinataire-mail constant (moi) et un en-tête de message constant (assez facile) et qui contient dans le corps du message (c’est là qu’est l’os) le code entre 2 balises de la page php/html en cours.

    Sur ce forum il y a plein de messages sur l’extraction de texte entre 2 balises en php, mais le hic c’est que l’extraction soit copiée dans le corps du mail.
    Voici un code simple pour extraire avec mes 2 balises <div id="center"> et le </div> suivant:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    $src = file_get_contents("page.php");
    preg_match_all( "/<div id="center">(.*)<\/div>/U", $src, $match );
    if ( count( $match[1] ) >= $x ) {
        echo 'Balise trouvée: '.$match[1][$x-1];
    }
    else {
        echo 'problem!';
    }
    Sachant qu’il faudrait déjà remplacer page.php par l’adresse de la page en cours…
    En plus il faudrait que l’ouverture du mail soit forcé en mode html (l’objectif est de permettre aux membres d’envoyer facilement des corrections correspondant à des erreurs sur une page, le mode html permettra de rayer et de mettre des couleurs)

    C’est probablement pas compliqué mais cela dépasse mes compétences.

    Comme j’ai déjà été aidée plusieurs fois (sans abuser), je compte sur vous…
    En espérant que mon souci est clairement décrit!
    Attention, il n'y a pas de base de données!

    A+, Steph

  2. #2
    Membre averti
    Profil pro
    Inscrit en
    Septembre 2009
    Messages
    55
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2009
    Messages : 55
    Par défaut
    UP

    Bonjour,
    Aucune réponse ?
    Cela veut dire que le problème ne peut-être résolu en PHP ?
    Qu'il faut utiliser un autre langage comme javascript ou un mix des deux ?
    Est-il possible d'avoir des pistes, ou simplement de dire si c'est faisable avec quel niveau de dfficulté?


    Après j'explorerai.

    Merci

    Steph

  3. #3
    Membre Expert
    Avatar de Spartacusply
    Homme Profil pro
    Développeur Web
    Inscrit en
    Mai 2011
    Messages
    1 723
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Mai 2011
    Messages : 1 723
    Par défaut
    le code entre 2 balises de la page php/html en cours.
    Ce que tu souhaites est faisable, mais ceci est une très mauvaise idée, le code html d'un email n'est pas le même qu'une page web, le rendu doit être adapté sans quoi de toutes façons ton mail sera totalement illisible.

  4. #4
    Rédacteur

    Avatar de Bovino
    Homme Profil pro
    Développeur Web
    Inscrit en
    Juin 2008
    Messages
    23 647
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 55
    Localisation : France, Gironde (Aquitaine)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juin 2008
    Messages : 23 647
    Billets dans le blog
    20
    Par défaut
    En complément de la réponse de Spartacusply.

    D'une part, on ne parse pas du HTML à coup d'expressions régulières... il existe des fonctions pour ça.

    Ensuite, le mécanisme que tu décris implique une action de l'utilisateur, donc dans le navigateur côté client. A partir de là, PHP ne peut plus t'être très utile...
    Pas de question technique par MP !
    Tout le monde peut participer à developpez.com, vous avez une idée, contactez-moi !
    Mes formations video2brain : La formation complète sur JavaScriptJavaScript et le DOM par la pratiquePHP 5 et MySQL : les fondamentaux
    Mon livre sur jQuery
    Module Firefox / Chrome d'intégration de JSFiddle et CodePen sur le forum

  5. #5
    Membre averti
    Profil pro
    Inscrit en
    Septembre 2009
    Messages
    55
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2009
    Messages : 55
    Par défaut
    Bonjour Spartacusply et Bovino, bonjour le forum.

    Merci beaucoup à tous les 2, je n'avais pas idée de cet os.
    Mais après réflexion, j'aimerais mieux préciser.
    Il se trouve que le texte entre les 2 balises n'est que du texte et rien d'autre. Pas de formattage, pas d'italique, pas d'image, pas de balises sauf des <p> </p>.
    Donc je ne perdrai rien en extrayant tout et je n'introduirai pas de caractères inutiles ou autres.
    Seulement du texte (mais je ne vois peut-être pas tout ce que tu veux dire SpartacusPly).
    L'idée par contre (et là je me trompe peut-être) c'est que le format html soit "forcé" dans le mail de l'émetteur pour qu'il puisse utiliser de la couleur ou des barres de correction.
    C'eest l'idée du projet, permettre des corrections "à la volée" (tout en restant en dehors d'un projet BDD).
    Est-ce plus clair? Est-ce maintenant jouable ? Ou bien c'est toujours aussi "inutile"?

    A+

    Steph

    PS: désolé Bovino, le lien sur les fonctions dépasse mes maigres compétences.

  6. #6
    Membre averti
    Profil pro
    Inscrit en
    Septembre 2009
    Messages
    55
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2009
    Messages : 55
    Par défaut
    Bonjour Spartacusply et Bovino, bonjour le forum.

    Ma réaction n'ayant pas eu de suite, je considère que c'est implicitement une manière de me dire que je me fourvoie totalement.

    Donc l'idée me paraissait séduisante (pire, banale techniquement) mais elle ne vaut pas un clou!

    Encore merci Spartacusply et Bovino, pour le temps consacré à une personne non-professionnelle.

    Je marque le fil comme résolu.

    Steph

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

Discussions similaires

  1. [RegEx] Extraire le code entre les balises <body> d'une page html
    Par abousa3d dans le forum Langage
    Réponses: 5
    Dernier message: 19/05/2010, 11h35
  2. Dreamweaver remplacer du code entre deux balises ?
    Par kermystik dans le forum Dreamweaver
    Réponses: 3
    Dernier message: 31/08/2006, 12h47
  3. [SAX] Comment récupérer un String entre deux balise xml?
    Par L4BiN dans le forum Format d'échange (XML, JSON...)
    Réponses: 6
    Dernier message: 23/06/2006, 10h02
  4. [DOM] récupérer le code dans une balise
    Par mavvv dans le forum Général JavaScript
    Réponses: 1
    Dernier message: 31/03/2006, 09h27
  5. [Balise XML] Comment récupérer le contenu entre 2 balise?
    Par ZoumZoumMan dans le forum C++Builder
    Réponses: 5
    Dernier message: 05/03/2004, 17h36

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