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 :

Code HTML


Sujet :

Langage PHP

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Candidat au Club
    Inscrit en
    Juin 2010
    Messages
    2
    Détails du profil
    Informations forums :
    Inscription : Juin 2010
    Messages : 2
    Par défaut Code HTML
    Salut,
    J'utilise le code suivant
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    // nettoyage du code
    $line = 'code HTML';
    $line = strip_tags($line);
    $line = html_entity_decode($line);
    $line = preg_replace('~&#x([0-9a-f]+);~ei', 'chr(hexdec("\\1"))', $line);
    $line = preg_replace('~&#([0-9]+);~e', 'chr("\\1")', $line);
    $line = preg_replace('(\n|\r|\t)',' ',$line);
    $line = preg_replace('/\s\s+/', ' ', $line); 
    return $line;
    Petite question ... Quelqu'un serait-il en mesure d'adapter le Regex de sorte à conserver les retours chariots ?

    Ce code m'est utile pour dresser des résumés de mes derniers articles pour ma page d'accueil, évitant de couper des balises HTML (liens, images, etc..).
    J'aimerais néanmoins pour une mise en page moins "brut" conserver à minima les retours chariots.
    Comme il s'agit de balises orphelines ne se pose pas le risque de tronquer du texte entre 2 balises. Il faut seulement s'assurer que le retour chariot soit intact.

    Merci par avance si une âme charitable est en mesure de me venir en aide

    ++

  2. #2
    Rédacteur
    Avatar de Halleck
    Homme Profil pro
    Consultant PHP
    Inscrit en
    Mars 2003
    Messages
    597
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 39
    Localisation : France, Loiret (Centre)

    Informations professionnelles :
    Activité : Consultant PHP

    Informations forums :
    Inscription : Mars 2003
    Messages : 597
    Par défaut
    Bonjour et bienvenue sur le forum.

    La regex des retours chariots est celle-ci :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    $line = preg_replace('(\n|\r|\t)',' ',$line);
    Il suffit d'enlever ce qui concerne les sauts de lignes :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    $line = preg_replace('(\t)',' ',$line);
    Soit au final :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    $line = 'code HTML';
    $line = strip_tags($line);
    $line = html_entity_decode($line);
    $line = preg_replace('~&#x([0-9a-f]+);~ei', 'chr(hexdec("\\1"))', $line);
    $line = preg_replace('~&#([0-9]+);~e', 'chr("\\1")', $line);
    $line = preg_replace('(\n|\r|\t)',' ',$line);
    $line = preg_replace('/\s\s+/', ' ', $line); 
    return $line;

  3. #3
    Candidat au Club
    Inscrit en
    Juin 2010
    Messages
    2
    Détails du profil
    Informations forums :
    Inscription : Juin 2010
    Messages : 2
    Par défaut
    Bonjour Halleck,

    J'y suis souvent passé comme simple lecteur. Me voici demandeur, peut-être un jour contributeur ...

    J'ai fait mon boulet. Je n'avais pas pris la peine d'aller voir du côté des fonctions natives. Je voulais en fait conserver les <br>, et c'est strip_tags qui les supprimes, mais permet d'en épargner :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    $line = strip_tags($line, '<br>');
    Navré de ne pas avoir été suffisamment explicite. C'est malgré-tout ton intervention qui m'a fait prendre conscience que ce n'était pas via les Regex.

    ++

Discussions similaires

  1. Insertion code html dans bdd
    Par jeff37 dans le forum MS SQL Server
    Réponses: 3
    Dernier message: 15/04/2004, 15h03
  2. code html en ram -> TWebBrowser pour affichage
    Par FredericB dans le forum C++Builder
    Réponses: 2
    Dernier message: 22/04/2003, 22h55
  3. Récupérer le code HTML d'une page avec Delphi 7
    Par PsyKroPack dans le forum Web & réseau
    Réponses: 5
    Dernier message: 06/02/2003, 21h56
  4. Générer du code HTML
    Par patpst dans le forum C++Builder
    Réponses: 4
    Dernier message: 27/11/2002, 10h27
  5. composant builder4 pour afficher du code html
    Par BranRuz dans le forum C++Builder
    Réponses: 2
    Dernier message: 04/09/2002, 11h35

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