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 :

Pattern preg_replace pour ajouter des strong's


Sujet :

Langage PHP

  1. #1
    Membre averti
    Profil pro
    Inscrit en
    Décembre 2006
    Messages
    297
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2006
    Messages : 297
    Points : 303
    Points
    303
    Par défaut Pattern preg_replace pour ajouter des strong's
    Bonjours,


    j'ai cherché un moment, mais je j'aimerai un avis d'expert pour un pattern qui modifie le contenu d'une page HTML pour y ajouter des balises strong's seulement dans le texte visible, (pas dans les balises, titres, meta's)
    Voici le code en question:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    <?php
    ob_start();
    $strong = "test|essai";
    ?>
    <html>
    <head>
    <meta http-equiv="Content-Type"
    content="text/html; charset=iso-8859-1">
    <meta name="description"
    content="TEST">
    <meta name="keywords"
    content="test,essai,keyword">
    <title>TEST</title>
    </head>
    <body background="backgd03.jpg" text="#000000" link="#0000FF"
    vlink="#8E236B" alink="#0000FF">
    <p><b>Dernière mise à jour le 13 septembre 2003.</b></p>
    <p>test</p>
    <p>essai</p>
    essai
    </body>
    </html>
    <?php
    $output = ob_get_contents();
    ob_end_clean();
    $output = preg_replace('`'.$strong.'`i', '<strong>$0</strong>', $output);
    echo $output;
    ?>
    Voilà, donc j'aimerai un pattern qui permet d'ajouter <strong> uniquement au texte de contenu.
    merci d'avance

  2. #2
    Membre régulier Avatar de randimby
    Inscrit en
    Décembre 2003
    Messages
    64
    Détails du profil
    Informations forums :
    Inscription : Décembre 2003
    Messages : 64
    Points : 72
    Points
    72
    Par défaut
    Je te propose de le faire en 2 mouvements.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
     
    //1) diviser output en 3 parts, en-tête, body, fin
    preg_match('|^(.*)(<body[^>]*>.*</body>)(.*)$|mis', $output, $m1);
    //2) Ne traiter que $m[2] (body)
    $m1[2] = preg_replace('`'.$strong.'`i', '<strong>$0</strong>', $m1[2]);
    //3) Et voilà
    echo implode($m[1]);

Discussions similaires

  1. Réponses: 2
    Dernier message: 20/11/2007, 19h13
  2. script pour ajouter des droits d'exécution aux scripts
    Par Chatbour dans le forum Shell et commandes GNU
    Réponses: 4
    Dernier message: 14/10/2007, 17h40
  3. une methodes pour ajouter des DLL
    Par am@123 dans le forum C#
    Réponses: 3
    Dernier message: 09/06/2007, 11h46
  4. Réponses: 4
    Dernier message: 05/04/2007, 16h07
  5. script pour ajouter des utilisateurs postgres
    Par xopos dans le forum PostgreSQL
    Réponses: 6
    Dernier message: 16/08/2004, 10h49

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