Tutorial #1 fonctions ereg & ereg_replace en php

0/5 (1 avis)

Snippet vu 6 942 fois - Téléchargée 29 fois

Contenu du snippet

En php, il y a une fonction qui s'appelle ereg() et qui permet d'évaluer la présence ou non d'une chaîne de caractère dans une autre :

exemple

$ch = "bonjour";
$ds = "je vous souhaite le bonjour";

$test = ereg($ch,$ds);

la on vérifie si bonjour est dans la chaîne "je vous souhaite le bonjour". cette recherche est sensible à la casse, c'est-à-dire que les majuscules et minuscules seront distinguées. si la recherche renvoi une réponse positive alors $test prend la valeur true, sinon false
pour effectuer une recherche insensible à la casse, il faut utiliser la fonction eregi().

Si on vérifier que $ch est au début de $ds, on fait :
$test = ereg("^$ch",$ds); (retourne FALSE)
l'accent circonflexe permet de vérifier qu'une chaîne est au début d'une autre.

inversemement, le dollar permet devérifier que $ch est à la fin de $ds :
$test = ereg("$ch$",$ds); (retourne TRUE) car bonjour est à la fin de $ds

maintenant, puisque je sais que bonjour est le dernier mot de ma chaîne $ds, je veux connaître le premier. Pour simplifier, on va dire que le premier mot est tout ce qui est avant le premier espace de la chaîne ("je" en l'occurence)...

on fait :
ereg("^([^ ]*)",$ds,$sortie);

le premier accent circonflexe montre que l'on recherche quelque chose au début de la chaîne $ds.
vous remarquez également qu'une nouvelle variable a été ajoutée à la fin de la fonction : $sortie. $sortie contiendra en fait le tableau du contenu de toutes les parenthèses du premier membre de la fonction ereg(). ici : $sortie[1] contient le résultat de ([^ ]*).

analysons ([^ ]*) maintenant.
l'étoile signifie que l'on recherche quelque chose présent au moins 0 fois
un + aurait signifié que l'on recherche quelque chose au moins une fois
un ? aurait signifié que l'on recherche quelque chose 1 ou 0 fois.

le quelque chose est signifié par le crochet. lorsque l'on met un accent circonflexe au tout début d'un crochet, cela signifie TOUT SAUF CE QUI SUIT L'ACCENT. ici on recherche donc tous les caractères pourvu qu'ils ne soient pas des espaces au début de $ds.

donc le résultat de ([^ ]*) est "je", $sortie[1] contient donc "je"...

bon j'admets que c'est compliqué quand on débute, le tutorial #2 sera plus simple...

Source / Exemple :


// Fin du tutorial

A voir également

Ajouter un commentaire Commentaire
cs_guismo1er Messages postés 76 Date d'inscription vendredi 21 mars 2003 Statut Membre Dernière intervention 12 mars 2009
12 févr. 2006 à 18:16
pas mal pas mal

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.