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 :

[PHP-JS] Parser le HTML avant son envoi


Sujet :

Langage PHP

  1. #1
    Nouveau membre du Club
    Profil pro
    DDD
    Inscrit en
    Février 2003
    Messages
    55
    Détails du profil
    Informations personnelles :
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : DDD

    Informations forums :
    Inscription : Février 2003
    Messages : 55
    Points : 38
    Points
    38
    Par défaut [PHP-JS] Parser le HTML avant son envoi
    Bonjour,

    Je voudrais parser mon "flux" html côté serveur avant son envoi côté client.
    Sur le serveur les pages sont dynamiques et je voudrais donc parser leur contenu (qui peut-être quelconque) avant qu'elles soient envoyées.

    Le but est de surligner (ou de rendre cliquable) les mots de la page HTML qui seraient référencés dans une liste (fichier TXT ou BD).

    En espérant avoir été assez claire... j'attends avec impatience vos idées.

    PS : j'ai pensé le faire côté client, en utilisant du javascript, mais cela me semble plus compliqué et sans doute plus lourd a implémenter.

    Merci d'avance.

  2. #2
    Expert éminent
    Avatar de titoumimi
    Profil pro
    Inscrit en
    Décembre 2003
    Messages
    3 707
    Détails du profil
    Informations personnelles :
    Âge : 43
    Localisation : France

    Informations forums :
    Inscription : Décembre 2003
    Messages : 3 707
    Points : 7 285
    Points
    7 285
    Par défaut
    je ne sais pas si j'ai très bien suivi, mais bon, je vais tenter

    tu peux capturer le flux HTML avant renvoi au navigateur dans une variable :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
    ob_start();
    // tout ton code PHP, renvoi de HTML, ....
    $contenu = ob_get_contents();
    ob_end_clean();
    return $contents;
    tu aura donc tout dans ta variable $contenu.

    Il ne te reste "plus qu'à" parser cette variable avec pleins de regexp de la mort qui tue, pour effectuer ton surlignage (ou peut être juste un str_replace si tu es sage)

  3. #3
    Nouveau membre du Club
    Profil pro
    DDD
    Inscrit en
    Février 2003
    Messages
    55
    Détails du profil
    Informations personnelles :
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : DDD

    Informations forums :
    Inscription : Février 2003
    Messages : 55
    Points : 38
    Points
    38
    Par défaut
    Simple, efficace. Merci.

  4. #4
    Expert éminent
    Avatar de titoumimi
    Profil pro
    Inscrit en
    Décembre 2003
    Messages
    3 707
    Détails du profil
    Informations personnelles :
    Âge : 43
    Localisation : France

    Informations forums :
    Inscription : Décembre 2003
    Messages : 3 707
    Points : 7 285
    Points
    7 285
    Par défaut
    il faut se méfier tout de même du str_replace...

    exemple bête, tu veux remplacer "toto" par "<span style="background-color:#00FFFF">toto</span>".

    Si tu as un lien <a href="toto.php">, ça risque de te faire des choses bizarres

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

Discussions similaires

  1. Php en perl, probleme html::parser
    Par newbies456 dans le forum Langage
    Réponses: 27
    Dernier message: 27/07/2010, 18h08
  2. Mise en page et indentation du code HTML avant envoi au client
    Par Jonathan.b dans le forum Balisage (X)HTML et validation W3C
    Réponses: 9
    Dernier message: 09/03/2010, 21h49
  3. Modifier l'action d'un formulaire juste avant son envoi
    Par Tutotictac dans le forum Général JavaScript
    Réponses: 1
    Dernier message: 30/03/2009, 00h27
  4. construire la page html avant envoi serveur
    Par viny dans le forum Langage
    Réponses: 3
    Dernier message: 30/06/2007, 12h24
  5. Réponses: 2
    Dernier message: 03/02/2007, 09h51

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