Bienvenue sur le site des Expressions Régulières Icone page d'accueil - Les expressions régulières php Accueil   Icone articles sur les expressions régulières en php Articles d'Expreg - Billets de Fred   Icone nos regex - Les expressions régulières php Les regex d'Expreg Icone mail - Les expressions régulières php

La fonction preg_grep

Bison les expressions rationnelles en php La syntaxe :
preg_grep (motif de chaine, tableau sujet, option);

preg_grep retourne dans un tableau les éléments extraits d'un autre tableau correspondant ou non au motif (voir option PREG_GREP_INVERT)

Depuis PHP 4.0.4, le tableau retourné par preg_grep est indexé en utilisant les clés issues du tableau input . Si ces clés sont inutiles, utilisez la fonction array_values sur le tableau retourné par preg_grep pour obtenir le comportement traditionnel.
L'élément optionnel PREG_GREP_INVERT exclus les éléments qui correspondent au masque.

La syntaxe suivante avec l'argument array_values :
$tablo=array_values(preg_greg($motif,$tablo));
Si cet argument est utilisé, les éléments extraits du tableau initial seront réindexés dans le tableau de sortie créé par preg_grep.

Exemples avec preg_grep


Exemple 1

 Extraire des valeurs décimales d'un tableau 
Niveau de compréhension :facile

<?php

$tablo
=array('1','2.25','3','4.75','6','7.33','9','11','14.45','19');
$trouve=array_values(preg_grep('`^\d+\.\d+$`',$tablo));
$nb=count($trouve);
for(
$i=0;$i<=$nb;$i++){
echo
$trouve[$i].'<br/>';
}
// cet exemple va afficher : 2.25 - 4.75 - 7.33 - 14.45
?>

Explication :
La fonction preg_grep permet d'extraire des éléments d'un tableau suivant le masque définit.
Si l'argument array_values est employé, les éléments extraits seront réindexés dans le nouveau tableau.


Exemple 2

 Toujours nos valeurs décimales 
Id du code : 20
Niveau de compréhension :facile

<?php

$tablo
=array('1','2.25','3','4.75','6','7.33','9','11','14.45','19');
$trouve=array_values(preg_grep('`^\d+\.\d+$`',$tablo, PREG_GREP_INVERT));
$nb=count($trouve);
for(
$i=0;$i<=$nb;$i++){
echo
$trouve[$i].'<br/>';
}

// avec cette option l'affichage donnera : 1 - 3 - 6 - 9 - 11 - 19

?>

Explication :
Toujours grâce à notre fonction preg_grep et le même masque, on va récupérer les valeurs qui ne correspondent pas au masque soit les valeurs entières.

Pour cela, on utiliser un troisièeme argument optionnel qui est :
PREG_GREP_INVERT


Exemple 3

  Extraire tous les mots de 6 lettres dans un tableau et les placer dans un autre
Niveau de compréhension : facile

<?php
$tablo
=array('Pommes','poire','banane','kiwi','orange','ananas','noix','cerise','framboise','raisins');
$nb=count($tablo);

$trouve=array_values(preg_grep('`^\w{6}$`',$tablo));
$nb=count($trouve);

for(
$i=0;$i<$nb;$i++)
{
echo
$trouve1[$i].'<br />';
}
?>

Explication :
On vérifie dans $tablo, toutes les valeurs qui ont exactement 6 lettres, on les extraits pour les placer dans un autre tableau.


Exemple ..

  
Niveau de compréhension :


Explication :


Rédaction Yves Maistriaux :: Mai 2003 Dernière mise à jour :: Décembre 2005


European Cards - Hosting-Ec Validation W3C European Cards - Hosting-Ec Validation W3C © 2003 - 2008 www.expreg.com - Toutes reproductions interdites sans l'autorisation écrite des auteurs
:::::::::: Design an Hosting by : European Cards Sprl ::::::::::