Exhaustif.com
Contact Combattre la pyrale du buis
Exhaustif.com
Exemples de preg en PHP
Date de publication : mardi 13 octobre 2009, dernière modification le : mardi 13 octobre 2009.

Preg est (trop) complexe, voici quelques exemples pour bien débuter.

  Exemples de preg en PHP

Maîtriser les preg peut se révéler ardu. Voici donc toute une série d’exemples pris de cas réels. L’objectif est de modifier un code html.

Suppression des commentaires conditionnels :

        $texte = preg_replace('`<!--\[if([^\[]+)<!\[endif\]-->`','',$texte);

Suppression de diverses balises :

        $texte = preg_replace('`<style.*>([^\[]+)</style>`','',$texte);
        $texte = preg_replace('`<meta.*>([^\[]+)</meta>`','',$texte);
        $texte = preg_replace('`<o:[^>]*>.*</o:[^>]*>`','',$texte);
        $texte = preg_replace('`<link.*'.'/>`','',$texte);
        $texte = preg_replace("`<st1.*>([^<]*)</st1[^>]*>`", "\\1", $texte);

Même chose en plus complet :

        $texte = preg_replace("`([\r\t\n\ ]*)<p[^>]*>([\r\t\n\ ]*)</p>([\r\t\n\ ]*)`", '', $texte);

Les lignes vides :

        $texte = preg_replace("`<p[^>]*>&nbsp;</p>`", '', $texte);

Suppression des styles ou balises accrochés aux balises :

       
        $texte = preg_replace('`<table(.*)style=\"(.*)\"(.*)>`','<table \\1 \\3>',$texte);
        $texte = preg_replace('`<tr(.*)style=\"(.*)\"(.*)>`','<tr \\1 \\3>',$texte);
        $texte = preg_replace('`<td(.*)style=\"(.*)\"(.*)>`','<td \\1 \\3>',$texte);
        $texte = preg_replace('`<table(.*)height=\"(.*)\"(.*)>`','<table \\1 \\3>',$texte);
        $texte = preg_replace('`<tr(.*)height=\"(.*)\"(.*)>`','<tr \\1 \\3>',$texte);
        $texte = preg_replace('`<td(.*)height=\"(.*)\"(.*)>`','<td \\1 \\3>',$texte);

Suppression de tous ce qui est accroché à une balise (style et autre) :

        $texte = preg_replace("`<p[^>]*>(.*)</p>`", '<p>\\1</p>', $texte);

Modifie les balises p et span en forcant un margin, padding :

        $texte = preg_replace("`<p[^>]*>(.*)</p>`", '<p style="padding:0px;margin:0px;">\\1</p>', $texte);
        $texte = preg_replace("`<span[^>]*>(.*)</span>`", '<span style="padding:0px;margin:0px;">\\1</span>', $texte);

Remplace les p par des tables :

        $texte = preg_replace("`<p[^>]*>(.*)</p>`", '<table><tr><td style="padding:0px;margin:0px;text-align:justify;">\\1</td></tr></table>', $texte);

Supprime tous les style :

        $texte = preg_replace("`style=\"(.*)&quot;(.*)&quot;.*\"`", '', $texte);

Remplace les span multiples par un seul :

        // <span><span><span><span><span><span><span><span><span><span> => <span>
        $texte = preg_replace("`(<span>)+`", '<span>', $texte);
        // </span></span></span></span></span></span></span></span></span> => </span>
        $texte = preg_replace("`(</span>)+`", '</span>', $texte);
 


Actualités liées

16/03 Skype sous linux version 2.0 Skype sous linux version 2.0
16/01 1 000 000 de .Fr 1 000 000 de .Fr
21/11 Le meilleur d’Ebay Le "meilleur" d’Ebay
7/11 2 dossiers à découvrir 2 dossiers à découvrir
16/08 La carte du monde du spam La carte du monde du spam
Chroniques liées

octobre 2009 Exemples de preg en PHP Exemples de preg en PHP