Expressions régulières dans php

http://www.regular-expressions.info/php.html pas mal d'infos

ereg man

eregi — Recherche par expression rationnelle insensible à la casse

Note: http://www.php.net/manual/en/function.preg-match.php preg_match(), qui utilise la syntaxe des expressions rationnelles compatibles PERL, est une alternative plus rapide de ereg().

http://ch2.php.net/manual/fr/function.preg-replace.php permet le remplacement, utile

 preg_replace  ( mixed $pattern  , mixed $replacement  , mixed $subject  [, int $limit  [, int &$count  ]] )

Analyse subject pour trouver l'expression rationnelle pattern et remplace les résultats par replacement . 

Example#1 Utilisation des références arrières avec des littéraux numériques
<?php
$string = 'April 15, 2003';
$pattern = '/(\w+) (\d+), (\d+)/i';
$replacement = '${1}1,$3';
echo preg_replace($pattern, $replacement, $string);
?>

L'exemple ci-dessus va afficher :

April1,2003


Example#2 Utilisation de tableaux indexé avec preg_replace()
<?php
$string = 'Le renard marron agile saute par dessus le chien paresseux.';
$patterns[0] = '/agile/';
$patterns[1] = '/marron/';
$patterns[2] = '/renard/';
$replacements[2] = 'grizzly';
$replacements[1] = 'brun';
$replacements[0] = 'lent';
echo preg_replace($patterns, $replacements, $string);
?>

L'exemple ci-dessus va afficher :

Le grizzly brun lent saute par dessus le chien paresseux.

 En triant les masques et les remplacements, vous devriez obtenir le résultat escompté.
<?php
ksort($patterns);
ksort($replacements);
echo preg_replace($patterns, $replacements, $string);
?>

L'exemple ci-dessus va afficher :

Le lent grizzly brun saute par dessus le chien paresseux.


    

Example#4 Utilisation de l'option 'e'
<?php
preg_replace("/(<\/?)(\w+)([^>]*>)/e", 
             "'\\1'.strtoupper('\\2').'\\3'", 
             $html_body);
?>

Cela va mettre en majuscule toutes les balises HTML du texte.

Example#5 Suppression des espaces

Cet exemple supprime les espaces en trop dans une chaîne.
<?php
$str = 'foo   o';
$str = preg_replace('/\s\s+/', ' ', $str);
// Affichera 'foo o'
echo $str;
?>

    

Conversion automatique des liens

 
info/regexp_php.txt · Dernière modification: 2010/08/24 08:46 (modification externe)
 
Recent changes RSS feed Creative Commons License Donate Powered by PHP Valid XHTML 1.0 Valid CSS Driven by DokuWiki