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 :

Extraire la partie body d'un fichier html


Sujet :

Langage PHP

  1. #1
    Membre expert
    Avatar de LadyWasky
    Femme Profil pro
    Inscrit en
    Juin 2004
    Messages
    2 932
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 54
    Localisation : France, Hauts de Seine (Île de France)

    Informations forums :
    Inscription : Juin 2004
    Messages : 2 932
    Points : 3 565
    Points
    3 565
    Par défaut Extraire la partie body d'un fichier html
    Bonsoir,

    J'ai un site Ouèbe qui, visuellement est composé d'un menu pour la navigation, et d'une Iframe dédié à l'affiche des pages demandées (quasiment que du html et un peu de css, pas un gramme de php dans les fichiers html, ni de perl, ni de java, ni de javascript).

    Bon, avec un ami on souhaite moderniser tout ça, pour avoir le menu dans un div, l'affichage dans un autre, et le bandeau d'en tête encore dans un autre.

    Comme il y a pas mal de pages html et que c'est assez galère de tout réécrire, la solution serait de pouvoir extraire la partie body de chaque fichier html, afin de mettre cette partie de code. C'est possible ? comment ?

    A partir de là, ça nous permettrait de re-injecter le code dans sa balise div d'une page construite en php (avec la garantie d'une balise head commune à toutes nos pages html, du coup)

    Mais de là survient une autre problématique, c'est que dans ces pages html, il y a une foultitude de liens, que nous aimerions donc changer pour non plus appeler les pages html du site, mais notre script PHP.

    J'avoue que ça m'enlèverais une épine du pied si vous connaissiez une solution miracle (qui doit très certainement exister et être toute simple, mais je sêche, alors).

    Merci par avance

  2. #2
    Membre expert
    Avatar de LadyWasky
    Femme Profil pro
    Inscrit en
    Juin 2004
    Messages
    2 932
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 54
    Localisation : France, Hauts de Seine (Île de France)

    Informations forums :
    Inscription : Juin 2004
    Messages : 2 932
    Points : 3 565
    Points
    3 565
    Par défaut
    Bon, je me répond à moi même puisque j'ai trouvé une solution pour extraire la partie body :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
     
    <html>
    <head>
    //mon header générique
    </head>
    <body>
    <?
    $file = file_get_contents("http://www.monsite.fr/ma_page.html");
    $body = preg_replace("/.*<body[^>]*>|<\/body>.*/si", "", $file);
    echo $body;
    ?>
    </body>
    </html>
    Maintenant il ne me reste plus qu'a modifier les url de ces mêmes pages

  3. #3
    Membre actif Avatar de polkduran
    Profil pro
    Consultant informatique
    Inscrit en
    Décembre 2009
    Messages
    155
    Détails du profil
    Informations personnelles :
    Âge : 40
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Consultant informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Décembre 2009
    Messages : 155
    Points : 275
    Points
    275
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    $conditionUrl = '[^"\s>]*';
    $newUrl = '#';
    $html = preg_replace('`(<a.*?href="?)('.$conditionUrl.')`si','${1}'.$newUrl,$html);
    remplace toutes les urls par #

    et avec :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    $conditionUrl = '(http://.*?\.)html';
    $newUrl = '${3}php';
    tu remplaces le .html par .php de toutes les urls qui commencent par "http://" et qui finissent par ".html"

    ensuite c'est juste de trouver la condition de remplacement de l'url qui correspond à ce que tu veux faire

  4. #4
    Nouveau Candidat au Club
    Inscrit en
    Août 2010
    Messages
    1
    Détails du profil
    Informations forums :
    Inscription : Août 2010
    Messages : 1
    Points : 1
    Points
    1
    Par défaut explorateur
    tu peux creer une fonction qui explore tout tes fichiers et qui ecris pour chacun un lien avec passage de parametre avec la methode get. comme exemple:
    <?php
    function ouvrir_dossier($dos){
    if ($dir = opendir($dos)) {

    while($dos = readdir($dir)) {

    if(is_dir($dos)){

    if($dos !='.'&& $dos !='..' && $dos!='imgs'
    ){$dos2=str_replace('-',' ',$dos);
    echo "<span class ='span1'>"."<a href =votre-index.php?dos=$dos>" ."$dos2" . "</a></span><br>*********<br>"; }}
    }
    closedir($dir);
    }
    return true ;
    }


    ?>

  5. #5
    Membre expert
    Avatar de LadyWasky
    Femme Profil pro
    Inscrit en
    Juin 2004
    Messages
    2 932
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 54
    Localisation : France, Hauts de Seine (Île de France)

    Informations forums :
    Inscription : Juin 2004
    Messages : 2 932
    Points : 3 565
    Points
    3 565
    Par défaut
    Merci !
    ça va bien m'aider tout ça !


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

Discussions similaires

  1. Extraire des liens web d'un fichier .html
    Par Army_ftw dans le forum Langage
    Réponses: 6
    Dernier message: 06/03/2014, 13h25
  2. Réponses: 2
    Dernier message: 04/09/2010, 17h30
  3. [Débutante] Extraire des données à partir d'un fichier html avec xsl
    Par sab_etudianteBTS dans le forum XSL/XSLT/XPATH
    Réponses: 3
    Dernier message: 11/03/2008, 09h10
  4. [DOM] Récupérer une partie d’un fichier HTML
    Par fadex dans le forum Bibliothèques et frameworks
    Réponses: 4
    Dernier message: 05/01/2007, 12h30
  5. Awk extraire une partie d'un fichier
    Par titexe dans le forum Linux
    Réponses: 2
    Dernier message: 30/11/2006, 11h54

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